由于android个手机版本的迭代和厂商对内核的修改导致AlarmManager的使用不想以前那么准确了。
在api19以前可以使用setRepeating设置重复发送广播,只用就需要自己在发送闹钟后,在接收处再次发送相同的闹钟,实现重复执行的效果;
下面对AlarmManager的使用做了一些兼容性的处理,可以定时发送广播:
/**
* 每5分钟唤醒一次service
*
* @param context
*/
public static void setKeepAliveAlarm(Context context, boolean interVal) {
// 防止4.4以下的重复执行setRepeating
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT && interVal) {
return;
}
// 循环时间