Android中home键和back键区别实例分析
程序员文章站
2023-11-27 18:46:16
本文实例分析了android中home键和back键区别。分享给大家供大家参考。具体如下:
back键
android的程序无需刻意的去退出,当你一按下手机的back键...
本文实例分析了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" />
希望本文所述对大家的android程序设计有所帮助。