標籤:android private public method 程式
思路1:記錄上次點擊的時間,與本次點擊的時間比較,當兩次時間間隔小於一定值時,退出,否則提示“再按一次退出程式”,同時更新上次點擊時間
private long firstTime = 0; @Override public boolean onKeyUp(int keyCode, KeyEvent event) { // TODO Auto-generated method stub switch(keyCode) { case KeyEvent.KEYCODE_BACK: long secondTime = System.currentTimeMillis(); if (secondTime - firstTime > 2000) { //如果兩次按鍵時間間隔大於2秒,則不退出 Toast.makeText(this, "再按一次退出程式", Toast.LENGTH_SHORT).show(); firstTime = secondTime;//更新firstTime return true; } else { //兩次按鍵小於2秒時,退出應用 System.exit(0); } break; } return super.onKeyUp(keyCode, event); }
思路2:開線程延時處理
private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedTimes == 0) { Toast.makeText(this, "再按一次退出程式 ", Toast.LENGTH_SHORT).show(); mBackKeyPressedTimes = 1; new Thread() { @Override public void run() { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } finally { mBackKeyPressedTimes = 0; } } }.start(); return; else{ this.activity.finish(); } } super.onBackPressed(); }
Android連續點擊兩次Back鍵退出程式