![](/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.