最近的APP項目有一個需求就是連續點擊兩次返回按鈕,退出整個APP,而不是返回到上一個頁面,這個連續是有時間限制的,在個人項目裏,我設置成2秒鐘,若是兩秒以內點擊了兩次,就表明用戶想要退出整個APP,若是大於兩秒則不會觸發該效果。android
重寫Activity裏的onBackPressed方法,首先判斷用戶連續兩次點擊的時間差,若是小於兩秒就要退出整個APP,不然不會退出,首先判斷Android手機的版本,若是大於2.1,則退出app的方法就是回到屏幕主頁,調用的方法以下;小於2.1版本的Android手機退出APP的方法就是調用ActivityManager的restartPackage方法。app
private long exitTime = 0;
@Override public void onBackPressed() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { //完全關閉整個APP int currentVersion = android.os.Build.VERSION.SDK_INT; if (currentVersion > android.os.Build.VERSION_CODES.ECLAIR_MR1) { Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startMain); System.exit(0); } else {// android2.1 ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); am.restartPackage(getPackageName()); } } }
這樣就能夠實現連續點擊兩次返回按鈕退出整個APP啦~ ide