Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
Android AlarmManager setRepeating忽略间隔_Android_Alarmmanager - Fatal编程技术网

Android AlarmManager setRepeating忽略间隔

Android AlarmManager setRepeating忽略间隔,android,alarmmanager,Android,Alarmmanager,我使用此代码在我们的业务应用程序中设置警报: private void setupAlarm() { final Context c = getApplicationContext(); final AlarmManager alarm = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE); final Intent i = new Intent(c, AlarmReceiver.class

我使用此代码在我们的业务应用程序中设置警报:

private void setupAlarm() {
    final Context c = getApplicationContext();
    final AlarmManager alarm = 
        (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
    final Intent i = new Intent(c, AlarmReceiver.class);
    final PendingIntent sender = 
         PendingIntent.getBroadcast(c, 0, i, PendingIntent.FLAG_CANCEL_CURRENT);
    final long startFromNow = System.currentTimeMillis()+10000;
    final long timer = 5*60*1000;
    alarm.setRepeating(AlarmManager.RTC_WAKEUP, startFromNow, timer, sender);
}
我无法理解为什么不遵守报警间隔。第一次警报在10秒后启动(如预期),之后每隔2分钟和一点(122秒到127秒)启动一次,这是错误的。间隔是5分钟,还是我错了

我在一个更简单的应用程序中使用了这段精确的代码:一个设置重复警报的活动,接收器只创建一个日志。它在那里工作

是什么让AlarmManager的行为如此不同? 我曾尝试:

  • 使用
    set()
    并在报警接收器中使用另一个
    set()
    超过5分钟:2分钟后启动
  • 使用
    setInexactRepeating()
    代替
    setRepeating()
    :2分钟后启动

任何见解都会有所帮助。谢谢

立即想到的建议-确保不要在其他地方设置具有相同意图和不同值的警报。目的不必是相同的对象,请参阅AlarmManager中的set methods文档