2011-02-28 39 views

回答

2

您應該只通過檢測活動上的點擊和調用finish()完成活動。

5

您不會 - 只要讓Android暫停您的應用程序並在必要時整理它即可。

2

如前所述,您真的應該考慮不使用這種方法來完成您的應用程序。

Anywho:這裏有一些代碼可以用來檢測Home-Button的按下並調用相應的函數。

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if (event.getAction() == KeyEvent.ACTION_DOWN) { 
     switch (keyCode) { 
     case KeyEvent.KEYCODE_HOME: 
      finish(); 
      return true; 
     } 
    } 

    return super.onKeyDown(keyCode, event); 
} 
+0

這只是針對「硬」的主鍵而已? – Blundell 2013-09-10 11:21:04

+0

這也檢測軟件主頁按鈕afaik – Johnnycube 2013-09-10 15:11:30

2

您可以設定用於啓動與標誌FLAG_ACTIVITY_NO_HISTORY acitvity的意圖,並根據DOC:

公共靜態最終詮釋FLAG_ACTIVITY_NO_HISTORY

如果設置,新的活性不保存在歷史堆棧中。只要 用戶離開它,活動就完成了。這個可能 也被設置爲noHistory屬性。常量值:1073741824 (0x40000000)

這可能適合用例。

+0

這是我正在尋找的解決方案。謝謝markmarch! – 2013-02-06 06:40:34

0

爲了方便用戶,Android沒有授權程序員處理主頁按鈕。當用戶想要突然退出應用程序時,他將按下主頁按鈕。

相關問題