Android 警报在设定时间后持续触发

Android 警报在设定时间后持续触发,android,Android,你能看看这个吗 if(current.getTimeInMillis() < cal.getTimeInMillis()){ //current.add(Calendar.MINUTE, 15); alarms.setRepeating(AlarmManager.RTC_WAKEUP, current.getTimeInMillis(), AlarmManager.INTERVAL_FIFTEEN_MINUTES, alarmIntent); Toast

你能看看这个吗

if(current.getTimeInMillis() < cal.getTimeInMillis()){
      //current.add(Calendar.MINUTE, 15);
      alarms.setRepeating(AlarmManager.RTC_WAKEUP, current.getTimeInMillis(), AlarmManager.INTERVAL_FIFTEEN_MINUTES, alarmIntent);
      Toast.makeText(this, "Alarm will go of 15mins from now", Toast.LENGTH_SHORT).show();

     }else {
       alarms.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), alarmIntent);
       Toast.makeText(this, "Alarm set in " + cal.getTimeInMillis() + " seconds",
         Toast.LENGTH_LONG).show();
     }
if(current.getTimeInMillis()

current.getTimeInMillis()是系统时间,cal.getTimeInMillis()是我希望事件发生的设置时间。我尝试每15分钟发出一次警报,只要系统时间不超过指定的设定时间,并且当达到设定时间时,警报应熄灭。但我的问题是,即使在过去的设定时间之后,它仍然每隔15分钟重复一次,并且它完全忽略了else块中的代码。我的逻辑是否做得不正确?。。任何想法都将不胜感激。谢谢。

关于
alarms.SETREPEATING(AlarmManager.RTC_WAKEUP,current.getTimeInMillis(),AlarmManager.INTERVAL_十五分钟,alarmIntent)的不清楚之处我的意思是,即使在指定的设置时间(cal.getTimeInMillis())结束后,警报仍会持续触发。这是不应该发生的。setREPEATING意味着它将继续一次又一次地发出警报。。。你已经安排好每15分钟一次,一遍又一遍,直到你取消它。哦,好的,谢谢。我以为它会爆炸,因为它在布尔逻辑中。再次感谢