当前位置: 移动技术网 > IT编程>移动开发>Android > Android中home键和back键区别实例分析

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

湛师主页,福州周边自驾游,建筑保温材料

本文实例分析了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网