謝謝。
試用了另外一種方法達到了目的。
例如有ABCD這四個Activity,A是最開始啓動的。然後從BCD任何一個按返回鍵想退出整個App,需要兩部可以達成:
1,在BCD的onKeyUp()事件中使用如下代碼:
@Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch(keyCode){ case KeyEvent.KEYCODE_BACK:{ Intent it = new Intent(getApplicationContext(), A.class); it.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); it.putExtra("EXIT", true); startActivity(it); //啓動A的時候,關閉所有在堆棧中在A上方的Activity,然後根據傳過去的EXIT 值判斷是否關閉 return true; } }///:~switch return super.onKeyUp(keyCode, event); }
2,在A的onCreate()函數中,添加如下判斷:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Finish all the acitivities of the application if(getIntent().getBooleanExtra("EXIT", false)){//根據EXIT值關閉A finish(); return; } setContentView(R.layout.activity_main); }