Android - 如何检测是否已设置警报(alarmmanager)

时间:2011-08-12 10:38:54

标签: java android android-intent alarmmanager android-pendingintent

我有一个“欢迎”屏幕,可以下载警报应该关闭的时间,但是每次用户登陆屏幕时都会设置新警报

这当然会导致多个警报

有什么方法可以检测出今天是否已经设定了?

感谢您提前的帮助

安迪

2 个答案:

答案 0 :(得分:6)

如果您设置具有相同待处理意图的警报,则先前的警报将被取消并再次重置。如果要取消任何警报,则可以通过alarmManager.cancel取消该警报(操作)。 如果你设置这样的警报。

  PendingIntent sender = PendingIntent.getBroadcast(MyAlarm.this,0,intent, 0);
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
            alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (5 * 1000), sender);

然后通过以下方式取消该警报。

 alarmManager.cancel(sender);

答案 1 :(得分:2)

不是通过Android API。如果您想稍后查找它们,您必须自己将时间保存到SharedPreferences或某个文件中。