簡體   English   中英

Android BroadcastReceiver安裝后無法正常工作

[英]Android BroadcastReceiver not working after install

問候! 我正在研究一個應用程序,它有一個偵聽“android.intent.action.PHONE_STATE”的BroadcastReceiver,它在手機狀態改變時運行(我在檢測到來電時用它來運行代碼)。 這在我的大多數測試手機上運行良好,但有些似乎根本沒有觸發接收器。 但是,一旦這些問題手機重新啟動,一切都按預期工作。

在BroadcaseReceiver可以選擇任何東西之前,是否需要重新啟動這些手機? 有沒有辦法可以檢測它是否沒有運行並手動“啟動”BroadcaseReceiver? 我很難過,所以我很感激你能提供的任何幫助。

謝謝。

要擴展此問題:從Android 3.1開始,已安裝的應用程序將處於“已停止”狀態。 要從已停止的應用程序調用BroadcastReceiver,需要額外的廣播意圖標志

更多細節: http//developer.android.com/sdk/android-3.1.html#launchcontrols

我在我的應用程序中創建了FLAG_INCLUDE_STOPPED_PACKAGES常量(= 32)(對於Android 3.1之前的版本)並將其添加到我的廣播意圖intent.addFlags(FLAG_INCLUDE_STOPPED_PACKAGES);

在BroadcaseReceiver可以選擇任何東西之前,是否需要重新啟動這些手機?

假設您的應用程序在PHONE_STATE廣播的清單中注冊了BroadcastReceiver ,它應該在安裝后立即生效。 如果沒有,那對我來說感覺就像一輛車。

有沒有辦法可以檢測它是否沒有運行並手動“啟動”BroadcaseReceiver?

不,主要是因為它通常沒有運行,即使事情正常。 Intent - <intent-filter>匹配點創建BroadcastReceiver的實例,使用onReceive()調用它,並在onReceive()返回時處理BroadcastReceiver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM