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 秒呼叫一次服务。