Android用戶點擊返回按鈕兩次退出整個APP
阿新 • • 發佈:2018-09-22
gen add toast 觸發 flag res 退出程序 ont sed
最近的APP項目有一個需求就是連續點擊兩次返回按鈕,退出整個APP,而不是返回到上一個頁面,這個連續是有時間限制的,在我的項目裏,我設置成2秒鐘,如果兩秒之內點擊了兩次,就代表用戶想要退出整個APP,如果大於兩秒則不會觸發該效果。
實現方法是:
重寫Activity裏的onBackPressed方法,首先判斷用戶連續兩次點擊的時間差,如果小於兩秒就要退出整個APP,否則不會退出,首先判斷Android手機的版本,如果大於2.1,則退出app的方法就是回到屏幕主頁,調用的方法如下;小於2.1版本的Android手機退出APP的方法就是調用ActivityManager的restartPackage方法。
private long exitTime = 0;
@Override public void onBackPressed() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { //徹底關閉整個APPint 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啦~
Android用戶點擊返回按鈕兩次退出整個APP