參考:http://blog.sina.com.cn/s/blog_4fd2a65a0101gg2o.html
在android開發中,我們經常要判斷用戶對返回鍵的操作,一般為了防止誤操作我們都是在用戶連續兩次點擊返回鍵提示用戶退出APP。
在這里我們有兩種思路: - 當按下Back鍵的時候我們會被onKeyDown捕獲,通過一個記錄兩次按鍵的時間差來實現 - 當按下Back鍵的時候我們會被onKeyDown捕獲,這個時候我們通過標志位isExit,來判斷是否彈出提示,當isExit為false的時候,則置為true,同時會彈出提示,并在2000毫秒(2秒)后發出一個消息,在Handler中將此值還原成false,如果在發送消息間隔的2秒內,再次按了BACK鍵,則再次執行exit方法,此時isExit的值已為true,則會執行退出的方法
方法二:
PRivate boolean isEixt = false;// 是否退出APP的標志位 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } return super.onKeyDown(keyCode, event); } Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { super.handleMessage(msg); isEixt = false; }; }; public void exit() { if (!isEixt)// 第一次點擊 { isEixt = true; DialogManager.getInstance(this).showToast("再按一次退出應用"); handler.sendEmptyMessageDelayed(0, 2000); } else { // 第二次點擊 ShrkbApplication.getInstance().exitApp(); } }新聞熱點
疑難解答