我正在使用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上
如何确保我的警报会响起?
我们将不胜感激。
谢谢。
帕特里克