BroadcastReceiverクラスにこのコードがありますが、最初の通知が実行されない理由がわかりません。ifサイクルを削除すると、alarmmanagerは完全に実行されます。また、値は大丈夫です(私はそれを見せてくれる乾杯をしました)。「if」の問題ですか?
CheckboxPreference = prefs.getBoolean("checkboxPref", true);
notify = prefs.getString("notify", "");
if (CheckboxPreference){
if (notify.equals("1")){
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal1.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, morningAlarm);
}
if (notify.equals("2")){
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal1.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, morningAlarm);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal3.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, eveningAlarm);
}
if (notify.equals("3")){
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal1.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, morningAlarm);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal2.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, middleAlarm);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal3.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, eveningAlarm);
}
}