Я использую AlarmManager для уведомления об ошибке. Я хочу, чтобы это уведомление срабатывало в 10:30 утра и повторялось каждые 24 часа. Я не хочу уведомления при открытии приложения.
Я отправляю свой код, основная проблема заключается в том, что он запускает будильник в конечное время также в 10:30 (если часовой пояс телефона составляет 12 часов). Я проверяю этот код с изменением yest, и я получил сигнал тревоги в 10:30, 1, 4, 7.
Пожалуйста, помогите мне решить проблему, я пытаюсь решить ее с давних времен.
Код:Уведомление о пожаре с AlarmManager
Intent myIntent = new Intent(Splash.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(Splash.this,
0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar firingCal = Calendar.getInstance();
Calendar currentCal = Calendar.getInstance();
firingCal.set(Calendar.HOUR_OF_DAY, 10);
firingCal.set(Calendar.MINUTE, 30);
firingCal.set(Calendar.SECOND, 0);
long intendedTime = firingCal.getTimeInMillis();
long currentTime = currentCal.getTimeInMillis();
if (intendedTime >= currentTime) {
alarmManager.setRepeating(AlarmManager.RTC, intendedTime,
AlarmManager.INTERVAL_DAY, pendingIntent);
} else {
firingCal.add(Calendar.DAY_OF_MONTH, 1);
intendedTime = firingCal.getTimeInMillis();
alarmManager.setRepeating(AlarmManager.RTC, intendedTime,
AlarmManager.INTERVAL_DAY, pendingIntent);
}
@lvo Beckers, я добавляю заявление в другое время, но в это время оно отправило уведомление только на следующий день, nt после этого ... –
проверить измененный пост и сообщить мне, если что-то не так. –
@Jeeten Вы уверены, что это не работает? Кроме того, вы уверены, что вы не выключили свой телефон тем временем, потому что после перезагрузки будильники теряются. См. Документацию по [AlarmManager] (http://developer.android.com/reference/android/app/AlarmManager.html). Зарегистрированные аварийные сигналы сохраняются, когда устройство спит (и при необходимости может активировать устройство, если оно отключается во время в то время), но будет очищен, если он выключится и перезагрузится ». –