nin*_*nse 23 android alarmmanager android-intent android-pendingintent
我有一个alarmManager用于在特定时间向用户发送通知的内容.由于有多个警报,我有多个未决的意图,我正在创建并提供一个唯一的ID,但在某些情况下,我需要获取所有待处理的意图,然后取消它们,这样我就可以重置警报.我试过这样做,我似乎仍然无法做到这一点所以我有几个问题:
这是你如何正确获取和取消PendingIntent?
Intent intent = new Intent(con, AppointmentNotificationReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(con, id, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
am.cancel(sender);
Run Code Online (Sandbox Code Playgroud)
意图是否需要与原始待定意图(附加内容和所有内容)完全匹配?
PendingIntent标志是否需要与原始待定意图的标志相匹配?
nin*_*nse 59
我发现你实际上没有"获得"待处理的意图......你必须完全像你第一次创建它时那样重新创建它(Intent也是如此),然后将它传递给AlarmManager的取消功能.所以我发布的上述代码实际上并不正确,只要这是我第一次创建它.希望有人会觉得这很有帮助.
| 归档时间: |
|
| 查看次数: |
21191 次 |
| 最近记录: |