When using a PendingIntent in an AppWidgetProvider
, I'm using the following code:
views.setOnClickPendingIntent( viewId,
PendingIntent.getBroadcast( context, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT ) );
So currently there's no reference kept to the PendingIntent returned by the getBroadcast method. In a specific situation I now want to cancel the PendingIntent. Is there any way of getting the PendingIntent back from the View? Or is the only way to call the cancel method of the PendingIntent afterwards by keeping a reference to it?
Where you want to cancel it, you would do the following (somewhere else in your code base):
PendingIntent.getBroadcast(context, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT).cancel();
where intent
is the same one as referenced in your code above. PendingIntent.getBroadcast(...)
using the PendingIntent.FLAG_UPDATE_CURRENT
will return a reference to the existing one already created, or create one if it doesn't currently exist.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With