我正在编写一个用户可以配置警报/警报的应用程序。在这一点上,我有一切工作期待一个。我正在使用
发出警报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);
我想在用户使用“关闭”按钮解除后删除此警报。我可以看到警报仍然存在,我通过我的应用程序使用上面的代码设置了闹钟。
是否有某种方法可以在闹钟中的闹钟上获得光标或类似内容?这将帮助我迭代它们并删除我想要的那些。
任何帮助将不胜感激,提前致谢。
答案 0 :(得分:3)
cancel(...)
的调用方法AlarmManager
,使用您用于设置闹钟的相同PendingIntent
。例如:
mAlarmPendingIntent = PendingIntent.getActivity(this, requestCode, intent, flags);
this.getAlarmManager().cancel(mAlarmPendingIntent);
this
指的是取消闹钟的Activity
或Service
答案 1 :(得分:2)
回答here时:没有支持的API。
如果指定了一天的时间,并且EXTRA_SKIP_UI为真,那么 警报不重复,执行应删除此警报 在它被解雇之后。
但是不同的制造商实施他们自己的闹钟,我不确定是否有人支持这个。 我已经在JB模拟器上尝试过它,看起来它不起作用。也许,在KitKat上? 只有这一个在JB上是可以的:
如果存在匹配所有参数的相同警报,则执行 可以重复使用它而不是创建一个新的
所以,也许,更好的解决方案是使用你自己的闹钟,用AlarmManager创建或警告用户他必须手动删除警报(使其更明显 - 不使用AlarmClock.EXTRA_SKIP_UI)。