Android BroadcastReceiver安装后无法正常工作

问候!我正在研究一个应用程序,它有一个侦听“android.intent.action.PHONE_STATE”的BroadcastReceiver,它在手机状态改变时运行(我在检测到来电时用它来运行代码).这在我的大多数测试手机上运行良好,但有些似乎根本没有触发接收器.但是,一旦这些问题手机重新启动,一切都按预期工作.

在BroadcaseReceiver可以选择任何东西之前,是否需要重新启动这些手机?有没有办法可以检测它是否没有运行并手动“启动”BroadcaseReceiver?我很难过,所以我很感激你能提供的任何帮助.

谢谢.

最佳答案

Is there a reason these phones need to be restarted before the BroadcaseReceiver can pick anything up?

假设您的应用程序在PHONE_STATE广播的清单中注册了BroadcastReceiver,它应该在安装后立即生效.如果没有,那对我来说感觉就像一辆车.

Is there a way I can detect if it isn’t running and manually “start” the BroadcaseReceiver?

不,主要是因为它通常没有运行,即使事情正常.在Intent点上创建BroadcastReceiver的实例 – < intent-filter>匹配,使用onReceive()调用它,并且一旦onReceive()返回,BroadcastReceiver就会被释放.

转载注明原文:Android BroadcastReceiver安装后无法正常工作 - 代码日志