Android闹钟-以编程方式删除闹钟

Android闹钟-以编程方式删除闹钟,android,alarmmanager,Android,Alarmmanager,我正在编写一个应用程序,用户可以在其中配置警报/警报。在这一点上,我有一切工作,除了一个。我正在用电脑发出警报 Intent alarmIntent = new Intent(AlarmClock.ACTION_SET_ALARM); alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); alarmIntent.putExtra(AlarmClock.EXTRA_MESSAGE, "Some message!"); Calendar calen

我正在编写一个应用程序,用户可以在其中配置警报/警报。在这一点上,我有一切工作,除了一个。我正在用电脑发出警报

Intent alarmIntent = new Intent(AlarmClock.ACTION_SET_ALARM);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent.putExtra(AlarmClock.EXTRA_MESSAGE, "Some message!");
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MINUTE, 1);
alarmIntent.putExtra(AlarmClock.EXTRA_HOUR, calendar.get(Calendar.HOUR_OF_DAY));
alarmIntent.putExtra(AlarmClock.EXTRA_MINUTES, calendar.get(Calendar.MINUTE));
alarmIntent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
context.startActivity(alarmIntent);
我想在用户使用“解除”按钮解除警报后删除此警报。我可以看到闹钟仍然在那里,我通过我的应用程序使用上面的代码设置闹钟

有没有办法在闹钟上的闹钟上找到光标或类似的东西?这将帮助我迭代它们并删除我想要的

感谢您的帮助。

AlarmManager
调用方法
cancel(…)
,使用与设置报警相同的
PendingEvent
。例如:

mAlarmPendingIntent = PendingIntent.getActivity(this, requestCode, intent, flags);

this.getAlarmManager().cancel(mAlarmPendingIntent);
指的是您要从中取消报警的
活动
服务
,因为它已被应答:没有支持此活动的API

如果指定了一天中的某个时间,且EXTRA_SKIP_UI为true,则 警报未重复,实施应删除此警报 在它被解散之后

但是不同的制造商都有自己的闹钟,我不确定是否有人支持。 我已经在JB emulator上试过了,看起来好像不起作用。也许,在KitKat? 只有这一个在JB上是可以的:

如果存在与所有参数匹配的相同报警,则执行 可以重新使用它,而不是创建新的


所以,也许更好的解决方案是使用您自己的闹钟,由AlarmManager创建,或者警告用户必须手动移除闹钟(使其更加明显-不要使用AlarmClock.EXTRA_SKIP_UI)

谢谢你的帮助。然而,我想你需要再次检查我的问题。我不是要求从AlarmManager中删除警报,我想删除闹钟中设置的警报。我说清楚了吗?我不明白你在说什么。。。根据你的问题,这就是答案。它还删除了设置在闹钟中的闹钟。