Android AlarmManager执行时间问题

时间:2011-04-26 13:13:13

标签: android broadcastreceiver alarmmanager

我设置了一个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 :(得分:0)

您可以创建一个派生自Application的类,该类包含所有全局变量。然后设置一个长变量来保持初始化警报之前的时间