我正在使用 AlarmManager.setAlarmClock() 来提醒我的应用用户吃药。
今天(经过 15 天的正确工作) setAlarmClock() 没有发出警报来通知我的用户。
我该如何安排?
for (Reminder reminder : reminderArrayList) {
if(reminder.isActive()){
GregorianCalendar cal = new GregorianCalendar();
cal.set(GregorianCalendar.HOUR_OF_DAY, reminder.getHour());
cal.set(GregorianCalendar.MINUTE, reminder.getMinute());
cal.set(GregorianCalendar.SECOND, 0);
while(cal.before(Calendar.getInstance())){
cal.add(GregorianCalendar.DAY_OF_YEAR, getDaysFromIntervall(reminder.getIntervall()));
}
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra("reminder_id", reminder.getId());
PendingIntent pi = PendingIntent.getBroadcast(context, reminder.getCode(), intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setAlarmClock(new AlarmManager.AlarmClockInfo(cal.getTimeInMillis(), pi), pi);
}
}
问题发生在装有 Android 8.0.0 的 Galaxy S7 edge 上
如何确保我的警报会响起?
帮助将不胜感激。
提前致谢。
帕特里克