龙岗网站 建设深圳信科,湘潭做网站价格品牌磐石网络,seo推广外包企业,湖南常德地图原文链接#xff1a;http://blog.csdn.net/lyjit/article/details/51597160
---------------------------------------------------- Back键是手机上的后退键#xff0c;在Android上有两种方法来获取该按钮的事件。 ** 一#xff1a;如何捕获Back按键事件 ** 1.直接获取按…原文链接http://blog.csdn.net/lyjit/article/details/51597160
---------------------------------------------------- Back键是手机上的后退键在Android上有两种方法来获取该按钮的事件。 ** 一如何捕获Back按键事件 ** 1.直接获取按钮按下事件直接重写Activity的onKeyDown方法即可代码如下: Override
public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode KeyEvent.KEYCODE_BACK event.getRepeatCount() 0) { //按下的如果是BACK同时没有重复Toast.makeText(lyj_test,now_is_back_event,1).show();return true;}return super.onKeyDown(keyCode, event);
}12345678 2、重写onBackPressed方法 Android 2.0开始又多出了一种新的方法对于Activity 可以单独获取Back键的按下事件直接重写onBackPressed方法即可代码如下 Override
public void onBackPressed() {// 这里处理逻辑代码大家注意该方法仅适用于2.0或更新版的sdkreturn;
}12345 ** 二Android home键和back键区别 ** back键 Android的程序无需刻意的去退出,当你一按下手机的back键的时候系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity。当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了. home键 Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手机桌面上应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入,会直接显示程序栈中最上层的Activity. back键默认把当前Activity给finishhome键只是把Activity给onStop. 再看一下按HOME和BACK按键Activity的生命周期是怎样的 HOME键的执行顺序onPause-onStop-onRestart-onStart-onResume BACK键的顺序 onPause-onStop-onDestroy-onCreate-onStart-onResume onPause不要做太耗时的工作 三按Back键实现按Home键时的效果 1:Android 2.0之前需要监听按键事件,进行判断是不是按下了back键 2:Android 2.0之后系统提供了一个onBackPressed()方法,这个方法就是专门用来监听back键事件的,所以只需重写onBackPressed()方法即可 Override
public void onBackPressed() { //实现Home键效果 //super.onBackPressed();这句话一定要注掉,不然又去调用默认的back处理方式 Intent intent new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent);
}123456789 另外如果想退出应用程序的话可以自己写个方法,如下: 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());
}1234567