2011-11-06 79 views
0

我的應用程序使用不同的活動來完成我想要的操作。我正在尋找的行爲是應用程序的完全關閉,當按下後退鍵時,任務中的每個活動都將關閉。返回鍵關閉在任務中註冊的所有活動

這可能嗎?如果是,我該怎麼辦?

在此先感謝您花費時間來幫助我。

回答

0

如果你想在每個活動中都有這種行爲,那麼當每個活動開始另一個活動時(通過調用startActivity()),然後請撥打finish()。這將從後面的堆棧中移除它。這樣,您的應用程序隨時只有一項活動,當用戶按下後退鍵時,它將完成並且您的應用程序將退出。

1

這段代碼可以幫助你:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 

    if(keyCode==KeyEvent.KEYCODE_BACK){ 
    new AlertDialog.Builder(yourcurrentactivityname.this).setTitle(
    "Attention").setMessage(
    "Want to exit ?") 
    .setPositiveButton("YES", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, 
         int which) { 
        android.os.Process.killProcess(android.os.Process.myPid()) 
       } 
      }).setNegativeButton("NO", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, 
         int which) { 

       } 
      }).show(); 
    return true; 
    }else{ 
     return false; 
    } 

    //return super.onKeyDown(keyCode, event); 

} 
+0

這隻會完成當前活動。 –

+0

@Ted Hopp我編輯了我的問題。希望它能起作用。 –

+0

這會起作用,但它似乎是一種暴力的方式來處理事情。我至少會堅持在當前活動中調用onPause()來殺死進程。 –