转载自:http://www.cnblogs.com/linjiqin/archive/2011/12/14/2287968.html

Android home键和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()方法即可

?
@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); }

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

?
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" />



更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. Android横竖屏切换
  5. Android最新获取oaid的方法及sdk
  6. Android(安卓)SQLite 的介绍和使用(二)
  7. Android(安卓)TextView文字链接4中方法
  8. Android中Intent的用法总结
  9. 横竖屏切换问题

随机推荐

  1. Spring IOC知识点一网打尽!
  2. 为什么推荐使用try-with-resources代替tr
  3. Zipper_Haskell笔记13
  4. 面试官问我,Redis分布式锁如何续期?懵了。
  5. java小白到架构师技术图谱(整理全网,持续更
  6. 教程资源汇总(已更新)
  7. 一次StackOverflowError排查,原因竟然和Du
  8. 你的程序出现了bug?这几款JVM工具也许可以
  9. React Async Rendering
  10. React 16.3新API