У меня есть активность, вот две кнопки:Как управлять BroadcastReceiver через AlarmManager?
Кнопка One для "Выберите Alarm Time". Когда я нажимаю на него, появляется TimePicker, и я выбираю время для Alarm.
Кнопка Two для «Set Alarm». Когда я нажимаю на него, установите будильник.
Что я делаю:
На установленное время тревоги я позову BroadcastReceiver
. Для демонстрации я печатать только время тревог, что я установил и строка в Toast
Что такое запрос:
"Если я установить время будильника, как, текущего времени 4:00 вечера и I установить время Alarm 6:00 вечера. В этом случае тревоги всегда вызывать BroadcastReceiver
и это Work Fine
.
BUT
Если Текущее время 4:00 PM, и я установил Тревога 2.00 PM, затем Он вызывает BroadCastReceiver
одновременно, и я НЕ ХОЧУ ЭТОТ. "
.
Для AlarmManager я использую этот фрагмент:
AlarmManager am = (AlarmManager) getSystemService(SetAlarm.ALARM_SERVICE);
Intent intent1 = new Intent(SetAlarm.this, BroadCast.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(SetAlarm.this, 0,intent1,PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
Вниз избирателя, пожалуйста, сделайте это правильно, если я попрошу что-то не так или предложит мне, что я сделал или спрошу не так? –
Это похоже на законный вопрос для меня. +1 – sarwar
сделайте это, внутри вещательного приемника, проверьте время, я предполагаю, что u хранит значение внутри общего предпочтения или что-то в этом роде, сравните текущее время n, установленное для дня. Если это до текущего времени, не делайте ничего, кроме выполнения операции @AM, я столкнулся с тем же сервисом, и поэтому мне пришлось его решить, поставив условие –