【发布时间】:2013-10-08 05:45:49
【问题描述】:
在我的代码中,我创建了一个警报如下:
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent("mypackage.START_MONITORING_SERVICE");
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
long timeForNextStart = System.currentTimeMillis() + elapsedTime;
am.set(AlarmManager.RTC_WAKEUP, timeForNextStart, pi);
要取消闹钟,我这样做:
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent("mypackage.START_MONITORING_SERVICE");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
am.cancel(pendingIntent);
我的问题是,这是否是取消所有具有相同意图的警报的正确方法。文档说:
删除任何具有匹配 Intent 的警报。任何警报,任何类型, 其 Intent 与此匹配(由 filterEquals(Intent) 定义), 将被取消。
我不确定是什么定义了“匹配意图”。如果我用上面的代码创建了多个警报,然后如图所示执行取消,它会取消我创建的所有警报吗?
【问题讨论】:
标签: android alarmmanager