Проблема времени выполнения Android AlarmManager - PullRequest
0 голосов
/ 26 апреля 2011

Я установил AlarmManager, который будет подавать сигнал повторно через определенное время.Я использовал следующий код для этого.

Intent intent = new Intent(ViewDoughnut.this, NotificationMessage.class);
PendingIntent sender = PendingIntent.getBroadcast(ViewDoughnut.this, 0, intent,PendingIntent.FLAG_CANCEL_CURRENT);

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP,nextAlarmTime, alarmInterval, sender);

Теперь, чтобы выполнить правильную работу во время будильника, я создал следующий класс, расширяющий BroadcastReceiver.Теперь мне нужно время в миллисекундах, когда работа Alarm должна выполняться в этом классе.Как получить его?

public class NotificationMessage extends BroadcastReceiver {
    // Display an alert that we've received a message.
    // @Override
    public void onReceive(Context context, Intent intent) {

        // here I need the time when the alarm should execute.
    }
}

Здесь я хотел бы добавить, что системное время у меня не работает, потому что, если устройство выключается во время будильника, оно выполняется, когда устройство включается после этого времени.Но мне нужно время, когда оно должно исполниться.

1 Ответ

0 голосов
/ 26 апреля 2011

Вы можете создать класс, производный от Application, который содержит все глобальные переменные. Затем просто установите длинную переменную для удержания времени перед инициализацией будильника

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...