有多个警报时取消单个警报

fla*_*vor 9 android alarms android-alarms

我使用相同的pendingIntent为每个使用不同的intentId设置多个警报.警报正在发挥作用.现在我要取消特定的警报.如果我使用cancel()方法,我将最终取消所有警报.我只想删除一个特定的.此外,即使在第二次或第三次发射期间,用户也应该能够取消此警报.当我第二次启动时,我将不会有相同的pendingIntent对象.我是否必须持久化pendingIntent对象?如果是这样,怎么样?以及如何从多个警报中取消单个警报?

Lal*_*ani 10

你可以这样做,

在您的Pending Intent中,您可以通过unique ID代替requestCode

PendingIntent pi = PendingIntent.getBroadcast(context, unique_id, i, 0);
Run Code Online (Sandbox Code Playgroud)

要取消,您可以使用相同的唯一ID取消它,使用相同的待定意图.

am.cancel(pi);
Run Code Online (Sandbox Code Playgroud)

要获得更多信息,您可以使用StackOverflow或Google,现在我觉得this answer会为您做.:)