Android用戶點擊返回按鈕兩次退出整個APP

最近的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

相關文章
相關標籤/搜索