本篇Blog记录点击两次Back键退出程序的写法
效果如下:
我们通过该方法来实现
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return super.onKeyDown(keyCode, event);
}
复制代码
然后说明一下这两个方法的作用
onKeyDown():
当某个键被按下时会触发,但不会被任何的该Activity内的任何view处理。
默认按下KEYCODE_BACK键后会回到上一个Activity。
onKeyUp():
当某个按键被按下,松开后触发,但不会被任何的该Activity内的任何view处理。
默认没有执行任何操作,只是简单的给一个false作为返回值。
实现代码
/**
* First time click on back
*/
private Long mExitTime = 0L;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if (System.currentTimeMillis() - mExitTime > 2000) {
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
mExitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
复制代码
一般来说通过这种方式来实现
以上
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END