0
在BroadcastReceiver類中我有這段代碼,但我不明白爲什麼第一次通知不運行。如果我刪除週期,警報管理器運行完美。價值也沒關係(我已經給了我一杯吐司)。是「如果」的問題?如果和broadcastreceiver
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);
}
}
看起來你的代碼沒有問題。然而,你可能會嘗試'if(notify.trim()。equals(...))'或者你以某種方式驗證了你是否進入了if()塊? –