以下是我的代码
public static void startAlarmManager(Context context, Date date) {
Intent alarmIntent = new Intent(context, AlarmReceiver.class);
alarmIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
PendingIntent recurringAlarm = PendingIntent.getBroadcast(context.getApplicationContext(), NOTIFY_ME_ID,
alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarms.cancel(recurringAlarm);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
alarms.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, date.getTime(), recurringAlarm);
} else if (Build.VERSION.SDK_INT >= 19) {
alarms.setExact(AlarmManager.RTC_WAKEUP, date.getTime(), recurringAlarm);
} else {
alarms.set(AlarmManager.RTC_WAKEUP, date.getTime(), recurringAlarm);
}
}
此代码在我测试过的所有设备上都能正常运行。但我面临的问题是 Wiko Jerry mt6580 。
在此设备中,警报在预计时间五分钟后触发。
注意:使用连接到充电器的设备进行的测试,不是 主动打盹模式。
为什么我遇到这个问题,或者如何解决这个问题的任何建议都会有很大的帮助。
-Thanks!