AlarmManager 未在给定时间间隔内调用服务
AlarmManager not calling service in the given time interval
在我的项目中,我每隔 30 秒连续调用一次服务,它工作正常,但现在它每 60 秒调用一次服务,即使我更改时间间隔(从 30 秒到 5 秒或其他)。这是我的代码
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(MainActivity.this, Myservice.class);
PendingIntent pendingintetnt= PendingIntent.getService(MainActivity.this, 0, intent , 0);
sendBroadcast(pendingintetnt);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),timeinterval, pendingintetnt);
我也尝试了所有这些选项,但仍然无法正常工作
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), timeinterval, pendingintetnt);
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis()+2000,timeinterval, pendingintetnt);
我很惊讶为什么它在给定的时间间隔内不起作用,为什么它每次都需要 60 秒的修复时间。
来自android 5.1 您可以设置的最小值为 60 秒。如果您设置的最小值小于 60,则 android 强制值并仅注册 60 秒的警报并每 60 秒呼叫一次服务。
在我的项目中,我每隔 30 秒连续调用一次服务,它工作正常,但现在它每 60 秒调用一次服务,即使我更改时间间隔(从 30 秒到 5 秒或其他)。这是我的代码
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(MainActivity.this, Myservice.class);
PendingIntent pendingintetnt= PendingIntent.getService(MainActivity.this, 0, intent , 0);
sendBroadcast(pendingintetnt);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),timeinterval, pendingintetnt);
我也尝试了所有这些选项,但仍然无法正常工作
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), timeinterval, pendingintetnt);
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis()+2000,timeinterval, pendingintetnt);
我很惊讶为什么它在给定的时间间隔内不起作用,为什么它每次都需要 60 秒的修复时间。
来自android 5.1 您可以设置的最小值为 60 秒。如果您设置的最小值小于 60,则 android 强制值并仅注册 60 秒的警报并每 60 秒呼叫一次服务。