Я хочу, чтобы AlarmManager
был уволен в 10:30 ежедневно на основе пользовательского времени мобильного устройства. Он стреляет в 10:30, но проблема в том, что после 10:30 утра он повторяется без времени, например, каждые полчаса или после любого необычного интервала времени.
Как предотвратить эту проблему? Я нахожу это на Successfull Вход и регистрация ButtonCick()
Событие. Я также хочу остановить это, если пользователь выходит из системы.
Мой код, как показано ниже:AlarmManager не срабатывает вовремя
Intent myIntent = new Intent(Register.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(Register.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) {
WakeLocker.acquire(getApplicationContext());
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, intendedTime,
AlarmManager.INTERVAL_DAY, pendingIntent);
WakeLocker.release();
} else {
WakeLocker.acquire(getApplicationContext());
firingCal.add(Calendar.DAY_OF_MONTH, 1);
intendedTime = firingCal.getTimeInMillis();
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, intendedTime,
AlarmManager.INTERVAL_DAY, pendingIntent);
WakeLocker.release();
}
Какова ваша цельSdkVersion? – user2450263
targetSdkVersion - это 19 –