2012-07-31 94 views
0

如何檢測什麼事件導致活動完成/ onstop called.In在後退按鈕的情況下,按下回車鍵,用戶從通知欄導航。如何當活動是檢測到這三種情況稱爲停止(ICS)檢測哪個事件結束活動

回答

1
之間的區別

您可以重寫View的onKeyDown方法,並在其中捕獲返回和主頁按鈕。你應該記得返回super.onKeyDown(keyCode,event);在某處標記了什麼按鍵之後。這樣,默認操作將繼續。

重要的是它的工作是在你的視圖上調用requestFocus()。在其他情況下,它不會收到任何按鍵,也不會調用任何回調。

你應該能夠知道回來被按下,家裏被按下或其他活動。這是當沒有家或回來被發現和Activity.onStop()被調用。我希望你正在尋找這個。

+0

它不工作... onKeyDown不聽回密鑰和主鍵 – Meher 2012-08-21 09:00:50

+0

我相信SurfaceView能夠接收KeyEvent.KEYCODE_BACK並傳遞給你的應用程序。也許它只會在focusOnTouch模式下工作。我相信它的工作原理對於我來說,也許對於ICS 4.0來說,它的行爲可能會有所不同,當然,我們將應用程序視爲單一視圖,並且所有界面都通過自定義庫被繪製到表面,這種方式對您來說可能是不可接受的。 view.setFocusableInTouchMode(true); view.requestFocusFromTouch(); – Pihhan 2012-08-22 12:24:19

+0

是的,我正在研究iCS,沒有運氣 – Meher 2012-08-24 05:33:41

1

如果用戶離開後退鍵,則將調用onDestroy()方法。

但我不知道是否有可能使過去的2例(Home鍵和通知)

+0

聽起來不錯的答案,但我特別需要其他兩種情況...! :( – Meher 2012-08-21 09:01:59