![](/img/trans.png)
[英]Android Broadcastreceiver for other apps install/delete not working
[英]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.