Java 如何删除或取消alarmManager中的所有挂起内容?
在我的应用程序中,我想删除alarmManager中的所有PendingEvent。 是否可以执行“全部删除”操作?请参阅 创建与要取消的意图匹配的挂起内容。调用上述函数一次将取消所有匹配的报警 .请参见 创建与要取消的意图匹配的挂起内容。调用上述函数一次将取消所有匹配的报警 .试试这个 要取消所有报警,首先您必须找到该报警的所有未决意图,并使用该报警取消报警 如果这对你有帮助,请不要错过接受这个答案。试试这个Java 如何删除或取消alarmManager中的所有挂起内容?,java,android,notifications,alarmmanager,android-pendingintent,Java,Android,Notifications,Alarmmanager,Android Pendingintent,在我的应用程序中,我想删除alarmManager中的所有PendingEvent。 是否可以执行“全部删除”操作?请参阅 创建与要取消的意图匹配的挂起内容。调用上述函数一次将取消所有匹配的报警 .请参见 创建与要取消的意图匹配的挂起内容。调用上述函数一次将取消所有匹配的报警 .试试这个 要取消所有报警,首先您必须找到该报警的所有未决意图,并使用该报警取消报警 如果这对你有帮助,请不要错过接受这个答案。试试这个 // set up alarm List<PendingIntent>
// set up alarm
List<PendingIntent> mPendingIntentList = new ArrayList<PendingIntent>();
Intent alarmIntent = new Intent(getApplicationContext(),Receiver.class);
alarmIntent.setData(Uri.parse("custom://" + alarm.ID));
alarmIntent.setAction(String.valueOf(alarm.ID));
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
PendingIntent displayIntent = PendingIntent.getBroadcast(getContext(), 0, alarmIntent, 0);
// add pending intent in list
mPendingIntentList.add(displayIntent );
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmDateTime, displayIntent);
//cancel all alarms
for(int idx = 0 ; idx < mPendingIntentList.size() ; idx++){
alarmManager .cancel(mPendingIntentList.get(idx));
}
要取消所有报警,首先您必须找到该报警的所有未决意图,并使用该报警取消报警
如果这对你有帮助,请不要错过接受这个答案。如何获得每个吊坠?@Roel,你不需要。您只需要1个与您的alarm和AlarmManager匹配的挂起意图。clancel将取消所有匹配的意图。如何获取每个挂起意图?@Roel,您不需要。您只需要1个与您的报警匹配的挂起意图,AlarmManager.clancel将取消所有匹配的意图。请现在检查,让我知道是否有任何问题:代码注释。请立即检查并告知我是否存在任何问题:
// set up alarm
List<PendingIntent> mPendingIntentList = new ArrayList<PendingIntent>();
Intent alarmIntent = new Intent(getApplicationContext(),Receiver.class);
alarmIntent.setData(Uri.parse("custom://" + alarm.ID));
alarmIntent.setAction(String.valueOf(alarm.ID));
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
PendingIntent displayIntent = PendingIntent.getBroadcast(getContext(), 0, alarmIntent, 0);
// add pending intent in list
mPendingIntentList.add(displayIntent );
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmDateTime, displayIntent);
//cancel all alarms
for(int idx = 0 ; idx < mPendingIntentList.size() ; idx++){
alarmManager .cancel(mPendingIntentList.get(idx));
}