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){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
在MainActivity中加上以上代碼:onKeyDown響應按鍵消息,keyCode是按鍵碼,event是按鍵消息,封裝了本次按鍵的動作;exitTime保存上一次按返回鍵的時間(long),如果這次按返回鍵的時間距上次的時間小於2S(long的2000),就退出,finish()是將activity完成,System.exit(0)是退出程序,主要要保證所有的activity都退出了,才調用exit,不然會有後臺程序還在繼續運行。Android下兩次返回鍵完全退出程序以及提示對話框的實現
我們看到許多界面友好的應用,在退出程序這一步也做得很人性化,比如按兩下返回鍵退出程序,第一次按了返回鍵的時候,提示“再按一次返回鍵就退出程序”,其實在自己的程序裏面,也可以這樣做。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.