我想趕上當用戶已經按下主頁按鈕。我以爲我可以使用Android - 如何捕捉主頁按鈕被按下?
protected void onResume()
{
registerReceiver(homeReceiver, new IntentFilter(Intent.CATEGORY_HOME));
}
...
private BroadcastReceiver homeReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
// logic here
}
};
但這似乎並不奏效。我知道onPause會被調用,但是我的特定應用程序有一些我需要單獨處理的邏輯。短故事基於一些信息進入,應用程序將向用戶顯示新活動。爲了防止後退按鈕問題,當每個活動命中它的onStop它調用完成本身。但是,如果用戶按下主頁按鈕,我不希望活動調用完成,以便當用戶在主屏幕上按下應用程序圖標或通過最近運行的應用程序列表時,最後一個活動被取消。
我懷疑我做了這個複雜得多計劃。任何建議表示讚賞。
對不起你是什麼試圖在這裏完成?默認情況下,你有你似乎想要的行爲。無需劫持後面或家庭按鈕。 – schwiz 2010-11-04 21:24:55
更長的故事是活動A啓動B,這取決於傳入的數據將顯示C,D或F. C,D或F的顯示可以在新數據進入時更改。我想要「後退」按鈕成爲退出按鈕。如果C,D和F在onStop中沒有完成調用,那麼按下Back可以循環返回前一個顯示。由於我目前無法分辨何時按下主頁按鈕,因此當前顯示的活動會觸及其onStop並調用完成。但是,當用戶按下圖標返回應用時,Android不會回到我們離開的位置。 – bursk 2010-11-04 21:54:27
你嘗試過使用startActivityForResult嗎? – schwiz 2010-11-04 22:32:57