Android AlarmManager未在设定时间触发

时间:2013-12-21 06:09:04

标签: android alarmmanager android-alarms countdowntimer

我有一个AlarmManager,它应该在2013年12月26日发布。这是我的代码:

    FestCountdownTimer countdownNotificationTimer = new FestCountdownTimer(
            00, 00, 9, 26, 11, 2013);
    long timeToEvent = countdownNotificationTimer.getIntervalMillis();
    System.out
            .println("TIME TO EVENT!!! ------------------ " + timeToEvent);

        Intent eventAlarm = new Intent(this, AlarmReceiver.class);

        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, timeToEvent, PendingIntent
                .getBroadcast(this, 1, eventAlarm,
                        PendingIntent.FLAG_UPDATE_CURRENT));

但是,我的警报在1或2分钟后开火。我不知道什么是错的。 (顺便说一句,FestCountdownTimer是我为了获得现在和未来设定日期之间的间隔所做的一个类。long timeToEvent;正在适当地进行。)

感谢您的帮助...

1 个答案:

答案 0 :(得分:0)

  

我不知道你的FestCountdownTimer课,但该死的   probablay时间设置不正确(我的意思是可能会错误地将时间转换为   毫秒)

注意:以下代码是harcode,未在实际应用中进行测试

    Calendar cal = Calendar.getInstance();
    cal.setTimeInMillis(System.currentTimeMillis());
    cal.clear();
    cal.set(year,month,day,hour,min); //set your date here 

    AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
   // cal.add(Calendar.SECOND, 5);
    alarmMgr.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);