我如何设置确切的,在Android 4.4中重复报警?

现在,我正在设置像这样的警报:

AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(context, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); timedate = cal.getTime(); //convert date to milis long timeInMilis = (timedate.getTime()); //Set Alarm to Repeat manager.setRepeating(AlarmManager.RTC_WAKEUP, timeInMilis, interval, pendingIntent); 

不幸的是,重复的计划时间是不精确的,我读到他们可能是不完整的时间间隔!

所以,我想切换到一个确切的重复报警。 我的设备只需要最低的API 19 / Android 4.4,所以我不能使用setRepeating。

我能做些什么来设置一个确切的重复报警?

Solutions Collecting From Web of "我如何设置确切的,在Android 4.4中重复报警?"

不幸的是,重复的计划时间是不精确的,我读到他们可能是不完整的时间间隔!

如果你的targetSdkVersion是19或更高,是的。

我能做些什么来设置一个确切的重复报警?

使用setExact()来控制你的初始延迟。 然后,作为处理该事件的工作的一部分,请使用setExact()在下一个所需时间获取控件。 IOW,你自己做“重复”的部分。

是的,这是令人生气的。

这是故意刺激,引导开发人员不要使用确切的重复警报,因为那些比他们的不精确的兄弟更糟糕的电池。 如果用户感觉到不精确的行为并且不理解,可以随意使用setExact()来在用户需要时发生警报。 但是,如果用户不会察觉到不正确的行为,请使用不精确的警报,因为用户可能会注意到精确警报对电池的影响。