Android的很多app中,都有點擊一次返回鍵提示再次點擊退出app的功能。
今天就看了下實現的方式,其實就是在相應的Activity中重寫了onKeyDown()方法。在onKeyDown()方法中撲捉到返回鍵(KeyEvent.KEYCODE_BACK)的點擊動作(KeyEvent.ACTION_DOWN),然後做出相應的提示信息和動作。
當然,還需要一個時間參數,不然點擊完成等了很久再次點擊就會直接退出app了,這顯然是不合理的。時間間隔的大小一般而言1,2秒應該就行。
直接在主Activity寫入這個方法即可。
// 用來計算返回鍵的點擊間隔時間
private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
//彈出提示,可以有多種方式
ToastUtil.showTextToast(getApplicationContext(), "再按一次退出程序");
exitTime = System.currentTimeMillis();
} else {
finish();
}
return true;
}
return super.onKeyDown(keyCode, event);
}