AlarmManager.setExact 不是等待时间间隔
AlarmManager.setExact is not waiting the time interval
我有以下行
alarm.setExact(AlarmManager.RTC_WAKEUP,10000,pintent);
根据我的理解,我应该在 10 秒后收到从 AlarmManager 到我的广播接收器的 onReceive 的调用。我的日志如何显示它立即到达 onReceive 方法。这是正常的吗?在上面setExact方法中指定的时间之后触发什么方法?
更改此行
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);
我有以下行
alarm.setExact(AlarmManager.RTC_WAKEUP,10000,pintent);
根据我的理解,我应该在 10 秒后收到从 AlarmManager 到我的广播接收器的 onReceive 的调用。我的日志如何显示它立即到达 onReceive 方法。这是正常的吗?在上面setExact方法中指定的时间之后触发什么方法?
更改此行
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);