服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android中home键和back键区别实例分析

Android中home键和back键区别实例分析

2021-03-31 15:08Ruthless Android

这篇文章主要介绍了Android中home键和back键区别,以实例形式较为详细的分析并总结了home键和back键区别及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例分析了Androidhome键back键区别。分享给大家供大家参考。具体如下:

back键

Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了.

home键

Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手机桌面上应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入,会直接显示程序栈中最上层的Activity.

实现按Home键时隐藏程序的效果:

1. Android 2.0之前需要监听按键事件,进行判断是不是按下了back键
2. Android 2.0之后系统提供了一个onBackPressed()方法,这个方法就是专门用来监听back键事件的,所以只需重写onBackPressed()方法即可

?
1
2
3
4
5
6
7
8
9
@Override
public void onBackPressed() {
  //实现Home键效果
  //super.onBackPressed();这句话一定要注掉,不然又去调用默认的back处理方式了
  Intent i= new Intent(Intent.ACTION_MAIN);
  i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  i.addCategory(Intent.CATEGORY_HOME);
  startActivity(i);
}

退出应用程序的实现:可以自己写个方法,例如:

?
1
2
3
4
5
6
7
public void exitProgrames(){
  Intent startMain = new Intent(Intent.ACTION_MAIN);
  startMain.addCategory(Intent.CATEGORY_HOME);
  startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  startActivity(startMain);
  android.os.Process.killProcess(android.os.Process.myPid());
}

注意:需要添加权限:<uses-permission android:name="android.permission.RESTART_PACKAGES" />

希望本文所述对大家的Android程序设计有所帮助。

延伸 · 阅读

精彩推荐