Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-如何检测是否已设置报警(alarmmanager)_Java_Android_Android Intent_Alarmmanager_Android Pendingintent - Fatal编程技术网

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

Java Android-如何检测是否已设置报警(alarmmanager),java,android,android-intent,alarmmanager,android-pendingintent,Java,Android,Android Intent,Alarmmanager,Android Pendingintent,我有一个“欢迎”屏幕,可以下载警报应该发出的时间,但是每次用户登陆屏幕时,都会设置一个新的警报 这当然会导致多个警报 有没有什么方法可以检测到今天是否设置了一个 提前谢谢你的帮助 安迪不是通过安卓API。如果以后要查找,您必须将时间保存到SharedReferences或某个文件中。如果您设置了具有相同挂起意图的报警,则先前的报警将被取消并再次重置。如果要取消任何报警,则可以通过alarmManager.canceloperation取消该报警。 如果你设置这样的警报 PendingInte

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

这当然会导致多个警报

有没有什么方法可以检测到今天是否设置了一个

提前谢谢你的帮助


安迪

不是通过安卓API。如果以后要查找,您必须将时间保存到SharedReferences或某个文件中。

如果您设置了具有相同挂起意图的报警,则先前的报警将被取消并再次重置。如果要取消任何报警,则可以通过alarmManager.canceloperation取消该报警。 如果你设置这样的警报

  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);

啊,好的,那么如果我使用相同的代码,其中包含设置警报的意图,那么以前的意图将用新时间更新?是的。请参阅文档。public void set int type,long triggeratime,pendingent操作,因为:API级别1计划报警。注意:对于计时操作,滴答声、超时等,使用处理程序更容易、更有效。如果已经有一个警报计划用于相同的目的,那么它将首先被取消。long,android.app.pendingent我已经在一些其他任务中使用了处理程序,你是说对于警报我也应该使用处理程序吗?谢谢你的帮助,杰纳尔