Я начинаю свой будильник в 8 утра, используя код ниже, повторяя каждые 1 мин. Я хочу остановить эту тревогу, повторяющуюся в 12 часов. Я начинаю тревогу, как это:Как остановить повторение сигнала тревоги в определенное время
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
PendingIntent loggerIntent1 = PendingIntent.getBroadcast(this, 0,new Intent(this,AlarmReceiver.class), 0);
Calendar timeOff9 = Calendar.getInstance();
timeOff9.set(Calendar.HOUR_OF_DAY, 08);
timeOff9.set(Calendar.MINUTE, 00);
timeOff9.set(Calendar.SECOND, 00);
long duration = interval * 60 * 1000;
manager.setRepeating(AlarmManager.RTC_WAKEUP,timeOff9.getTimeInMillis(), duration, loggerIntent1);
и остановки с этим кодом:
Calendar timeOff = Calendar.getInstance();
timeOff.set(Calendar.HOUR_OF_DAY,12);
timeOff.set(Calendar.MINUTE,00);
timeOff.set(Calendar.SECOND, 00);
manager.set(AlarmManager.RTC_WAKEUP,timeOff.getTimeInMillis(), loggerIntent1);
manager.cancel(loggerIntent1);
loggerIntent1.cancel();
но код для остановки вызывает приложение, чтобы работать неправильно. Я пишу код, чтобы остановить будильник сразу после первой тревоги. это проблема? Нужно ли писать еще один сигнал тревоги. Пожалуйста, направляйте.
Ну, вам может понадобиться еще один аварийный сигнал для его завершения. Ссылка http://stackoverflow.com/questions/23829176/cancel-repeating-alarm-at-specific-time –