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


最近的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 {
        //徹底關閉整個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啦~ 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM