Я проверяю, был ли будильник уже установлен AlarmManager, используя этот ответ.
Ниже приведен фрагмент кода.
boolean alarmUp = (PendingIntent.getBroadcast(MainActivity.this, 0,
new Intent(MainActivity.this, AlarmReceiver.class), PendingIntent.FLAG_NO_CREATE) != null);
if (alarmUp) {
// alarm is set; do some stuff
}
Intent alarmIntent = new Intent(MainActivity.this, AlarmReceiver.class);
final PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 10 * 1000, pendingIntent);
Однако alarmUp
всегда устанавливается как истина. То есть, я устанавливаю будильник или нет, всякий раз, когда я перезапускаю приложение, он говорит мне, что alarmUp
является истинным (я проверяю его, создавая Toast
).
Пожалуйста, помогите, где я ошибаюсь.