android 中按下返回键销毁activity的详细调用过程。 求大神解答。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 中按下返回键销毁activity的详细调用过程。 求大神解答。相关的知识,希望对你有一定的参考价值。
网上有很多实现双击返回键退出应用程序的 demo 但是不明白为什么这样写 按下返回键就不会销毁activity了。
楼上都是答非所问,人家是想问什么这么做,不是问你怎么做,之所以做成2次,是怕你一次误点就退出程序了,用户体验会很差,所以做成双击,监听返回键第一按不做处理,只记录按下时间,第二次点击的时候判读距离上次点击时间,很短就认为是双击就退出应用,很长就当作第一次点击再记录点击时间,这样就不会误点back而退出应用了。 参考技术A 按下back键时会调用onDestroy()销毁当前的activity,重新启动此activity时会调用onCreate()重建;而按下home键时会调用onStop()方法,并不销毁activity,重新启动时则是调用onResume()。 参考技术B @Override
public boolean onKeyDown(int keyCode, KeyEvent event)
// TODO Auto-generated method stub
if (keyCode == KeyEvent.ACTION_DOWN)
MainActivity.this.finish();
return true;
return super.onKeyDown(keyCode, event);
这个是按返回键就会销毁activity,双击销毁是判断你双击的点击事件间隔时间
小于300ms就销毁activity的 参考技术C 监听back键的监听事件,加个判断,如果两次back触发的间隔小于一秒,就执行原来back的方法,否则return;
Android实现按下返回键时不进行Activity销毁从而回退到桌面
如题:
用户按返回按钮不关闭页面,而是返回到系统桌面,相当于按下home键。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent home = new Intent(Intent.ACTION_MAIN);
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
home.addCategory(Intent.CATEGORY_HOME);
startActivity(home);
return true;
}
return super.onKeyDown(keyCode, event);
}
以上是关于android 中按下返回键销毁activity的详细调用过程。 求大神解答。的主要内容,如果未能解决你的问题,请参考以下文章
android 在一个Activity 中按下返回键,不结束这个Activity 而是返回上个页面,如何实现?
Android实现按下返回键时不进行Activity销毁从而回退到桌面