Android主介面連續兩次點選物理返回鍵提示退出應用功能實現
阿新 • • 發佈:2018-11-12
實現內容:當點選一次 back 鍵時,程式提示“再按一次退出程式” ,當點選兩次 back 鍵,兩次之間的時間小於 3s 時,App就退出。
實則是對按鍵back監聽。
重寫onKeyDown(),監聽back
宣告兩個常量:
/** 上次點選返回鍵的時間 */
private long lastBackPressed;
/** 兩次點選的間隔時間 */
private static final int QUIT_INTERVAL = 3000;
/** * 重寫onKeyDown() * @param keyCode * @param event * @return */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode==KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { long backPressed = System.currentTimeMillis(); if (backPressed - lastBackPressed > QUIT_INTERVAL) { lastBackPressed = backPressed; Toast.makeText(this,"再按一次退出",Toast.LENGTH_LONG).show(); } else { finish(); System.exit(0); } return true; } return super.onKeyDown(keyCode, event); }
重寫onBackPressed()
以上直接寫入MainActivity類即可。/** * 重寫onBackPressed() */ @Override public void onBackPressed() { long backPressed = System.currentTimeMillis(); super.onBackPressed(); if (backPressed - lastBackPressed > QUIT_INTERVAL) { lastBackPressed = backPressed; Toast.makeText(this,"再按一次退出",Toast.LENGTH_LONG).show(); } else { finish(); System.exit(0); } }
實現效果: