broadcastreceiver - Unregistering Android Broadcast Receiver in onReceive throws "Receiver not registered" -
i have broadcastreceiver
1 time use.
i'm registering in activity. can't put unregisterreceiver()
in onpause
because has stay running when activity paused or destroyed.
i want broadcastreceiver unregister when done, this:
public class smsreceiver extends broadcastreceiver { public void onreceive(context context, intent intent) { // code.. context.unregisterreceiver(this) } }
but causes exception: receiver not registered.
a broadcastreceiver
exists during execution of onreceive()
method. so, this evaluates throw-away instance every time broadcast fired/received. see broadcast receiver lifecycle. dynamically registering/unregistering of broadcastreceiver
s, have remember instance of receiver in onpause()
register again during onresume()
.
Comments
Post a Comment