我剛開發了一個屏幕保護程序應用程序,並在其生命週期中發現了一個奇怪的行爲。 我的工作流程是這樣的:我的屏幕保護程序中的奇怪的生命週期行爲
- 開始我
RegisterService
,在那裏我稱之爲registerReceiver
方法來註冊一個BroadcastReceiver
,它可以接收ACTION_SCREEN_OFF
。
2.In此BroadcastReceiver
的onReceive
方法,我開始活動作爲屏幕保護程序。
3.In活動,我寫Log.i()
語句來跟蹤其運行。
我的問題是:
當屏幕超時,或者當我按下電源鍵,屏幕會關閉,系統會發送消息ACTION_SCREEN_OFF。正如我所料,我的接收器啓動屏幕保護程序活動。不過,我覺得這個活動叫onCreate()
,onResume()
,onPause()
,onResume()
根據logcat的輸出順序。
看來,如果有的一活動都在我的屏幕前,立即結束,所以我的屏幕調用onPause()
然後onResume()
。
任何想法?這個問題妨礙了我的編程,請幫助。謝謝!
它會導致什麼問題? – njzk2