2015-09-29 26 views
0

我有一個Android應用程序,我想跟蹤應用程序暫停或恢復的時間。如何監控我的應用是否暫停或恢復?

暫停:用戶按下主頁按鈕,應用程序仍在後臺運行。

恢復:應用程序在後臺運行,用戶打開應用程序。

我的應用程序暫停/恢復時應該如何通知我?

+0

當涉及到應用程序時,請提供「暫停」和「恢復」的技術定義。 – CommonsWare

+0

請參閱我的編輯。 – confile

回答

1

暫停:用戶按下主頁按鈕,應用程序仍在後臺運行。

我會猜測初始狀態是您的某個活動在按HOME按鈕時處於前景狀態。

總的來說,在前臺或後臺沒有「Android應用程序」概念,儘管我們有時會使用該語言作爲其他場景的簡寫。

當用戶按下HOME時,無論前臺的活動將被調用onPause()onStop(),但在許多其他場景(例如,用戶按下BACK)中也調用這些事件。 onUserLeaveHint()將在用戶按下HOME而不是BACK時調用,但在其他場景中不調用onUserLeaveHint()(例如,來電屏幕接管前景)。 onUserLeaveHint()是否符合您的要求,我不能說。

恢復:應用程序在後臺運行,用戶打開應用程序。

onStart()onResume()至少會在您的活動中被調用,並佔據前臺。這些也會在其他時間被調用,例如當活動第一次進入屏幕時。還有onRestart(),只有當活動在停止後(即先前的onStop()調用後)開始時纔會被調用,這將清除新創建的活動場景。但是,onRestart()也會在其他情況下調用,例如配置更改的一部分(例如,屏幕旋轉)。

一般而言,您所尋求的並不是Android架構的真正組成部分。您可能需要以其他方式處理您的問題。