2017-06-29 72 views
2

由於O更強制執行後臺服務,因此如何在定位26+時接收USER_PRESENT的廣播?在Android中使用intent broadcast USER_PRESENT O

的logcat:

system_process W/BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.USER_PRESENT flg=0x24200010 } to fr.cab13140.nullcontactdeleter/.BootThread 

回答

3

來接收廣播的唯一方法是通過正在運行的進程,在那裏你已經使用registerReceiver()註冊您的接收器。如果您試圖一直聽這個廣播節目,那麼您將得到的最接近的節目將是一個前臺粘性服務,嘗試最大限度地提高您的服務運行時間。請注意,用戶可能不會欣賞這一點。

+0

所以,使用這種方法是不可能的。 BOOT_COMPLETED如何?我沒有收到意圖或logcat錯誤。 – cab13140

+1

@ cab13140:嗯......'BOOT_COMPLETED'應該可以工作,而IIRC我試過了,它工作。 – CommonsWare

+0

我會再試一次。我正在使用Log.d,但沒有任何顯示。 – cab13140

相關問題