Greetings! I’m working on an application that has a BroadcastReceiver listening on “android.intent.action.PHONE_STATE”, which is run when the phone state is changed (I used it to run code when an incoming call is detected). This works fine on most of my test phones, but a few don’t seem to trigger the receiver at all. However, once these problem phones are restarted everything works as expected.
Is there a reason these phones need to be restarted before the BroadcaseReceiver can pick anything up? Is there a way I can detect if it isn’t running and manually “start” the BroadcaseReceiver? I’m stumped, so I’d appreciate any help you can offer.
Thank You.
Assuming that your application has its
BroadcastReceiverregistered in the manifest for thePHONE_STATEbroadcast, it should work immediately upon install. If it does not, it feels like a buggy ROM to me.No, mostly because it’s not running, usually, even when things are working. An instance of your
BroadcastReceiveris created at the point of theIntent–<intent-filter>match, it is called withonReceive(), and theBroadcastReceiveris disposed of onceonReceive()returns.