android 完全退出app,退出所有activity
阿新 • • 發佈:2019-02-09
/** * 所有activity的基類 * **/ public abstract class BaseActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState, int resource) { super.onCreate(savedInstanceState); } @Override protected void onRestart() { super.onRestart(); if(App.exit==true){ finish(); } } } /** * 開啟的第一個activity中, **/ public abstract class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState, int resource) { super.onCreate(savedInstanceState); App.exit = false; } } /** * 需要關閉的主頁activity中, * **/ public abstract class MainActivity extends AppCompatActivity { private boolean isExit; @Override protected void onCreate(Bundle savedInstanceState, int resource) { super.onCreate(savedInstanceState); } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exitBy2Click(); } return false; } private void exitBy2Click() { if (isExit == false) { isExit = true; // 準備退出 Toast.makeText(this, "再次點選退出", Toast.LENGTH_SHORT).show(); tExit = new Timer(); tExit.schedule(new TimerTask() { public void run() { isExit = false; // 取消退出 } }, 2000); // 如果2秒鐘內沒有按下返回鍵,則啟動定時器取消掉剛才執行的任務 } else { App.exit = true; finish(); } } }