我想要檢測應用程序何時暫停(例如,當用戶按主頁按鈕或啓動另一個應用程序時)。檢測應用程序的暫停(不是活動)
某些應用程序檢測到這種情況並顯示如下通知:「應用程序....在後臺運行」。我需要做同樣的事情,但在數據庫中保存一些對象。
在此先感謝
我想要檢測應用程序何時暫停(例如,當用戶按主頁按鈕或啓動另一個應用程序時)。檢測應用程序的暫停(不是活動)
某些應用程序檢測到這種情況並顯示如下通知:「應用程序....在後臺運行」。我需要做同樣的事情,但在數據庫中保存一些對象。
在此先感謝
在應用程序的所有活動就覆蓋下面的方法。
protected void onPause() {
//do your work
super.onPause();
}
您應該在活動級別處理它。請仔細閱讀以下內容,尤其是第一個答案中的評論:Android: How to handle that the application is minimized by HOME button
OnPause在活動生命週期中是您的答案。當你的應用程序暫停時,你的活動也是如此。
小心不要做任何需要很長時間的事情。在下一個活動可以開始或恢復之前,OnPause方法必須完成。因此,如果用戶按下主頁按鈕,您的OnPause必須在用戶可以看到啓動程序之前完成。
晚...
您可以實現Application.ActivityLifecycleCallbacks
接口和活動正在暫停和恢復存儲。如果在onPaused
上獲得的活動與onResume
上最後記錄的活動相同,那麼您的應用即將轉到後臺,在舊的恢復之前會重新開始新活動。如果收到與onResume
上記錄的最後一個活動不同的活動,則表示用戶正在導航到您應用內的其他活動。