AlarmManager.setExact没有等待时间间隔

时间:2015-02-14 06:39:46

标签: android broadcastreceiver alarmmanager

我有以下一行

alarm.setExact(AlarmManager.RTC_WAKEUP,10000,pintent);

根据我的理解,我应该在10秒后收到来自AlarmManager的电话给我的广播接收器onReceive。我的Logs如何显示它立即到达onReceive方法。这是正常的吗?在上面的setExact方法中指定的时间之后触发了什么方法?

1 个答案:

答案 0 :(得分:7)

更改此行

alarm.setExact(AlarmManager.RTC_WAKEUP,10000,pintent);

alarm.setExact(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+10000,pintent);

所以它会在10秒后到达

修改

来自文档setExact()会耗尽电量......使用set()

    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.SECOND, 10);
    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pintent);