Wez*_*zum 6 android alarmmanager android-pendingintent
我现在已经搜索了3天,但在其他任何地方都找不到解决方案或类似的问题/问题.这是交易:
触发1小时 - >工作正常
在2小时内触发 - >在1:23中进行
在1天内触发 - >在~11:00进行
那么为什么AlarmManager如此不可预测并且总是太快?或者我做错了什么?还有另一种方式可以正常工作吗?
这是我在AlarmManager中注册PendingIntent(剥离)的方式:
AlarmManager alarmManager = (AlarmManager)parent.getSystemService(ALARM_SERVICE);
Intent myIntent = new Intent(parent, UpdateKlasRoostersService.class);
PendingIntent pendingIntent = PendingIntent.getService(parent, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
//Set startdate of PendingIntent so it triggers in 10 minutes
Calendar start = Calendar.getInstance();
start.setTimeInMillis(SystemClock.elapsedRealtime());
start.add(Calendar.MINUTE, 10);
//Set interval of PendingIntent so it triggers every day
Integer interval = 1*24*60*60*1000;
//Cancel any similar instances of this PendingIntent if already scheduled
alarmManager.cancel(pendingIntent);
//Schedule PendingIntent
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, start.getTimeInMillis(), interval, pendingIntent);
//Old way I used to schedule a PendingIntent, didn't seem to work either
//alarmManager.set(AlarmManager.RTC_WAKEUP, start.getTimeInMillis(), pendingIntent);
Run Code Online (Sandbox Code Playgroud)
如果有人有解决方案,这将是非常棒的.谢谢你的帮助!
更新:2小时前它以2小时的间隔触发它,但之后它在1:20小时后触发.这变得非常奇怪.我将使用日志文件跟踪触发器,并在明天将其发布到此处.
更新:PendingIntent计划每3小时运行一次.从日志的第二行开始,似乎旧的计划PendingIntent仍在运行:
[2012-5-3 2:15:42 519] Updating Klasroosters
[2012-5-3 4:15:15 562] Updating Klasroosters
[2012-5-3 5:15:42 749] Updating Klasroosters
[2012-5-3 8:15:42 754] Updating Klasroosters
[2012-5-3 11:15:42 522] Updating Klasroosters
Run Code Online (Sandbox Code Playgroud)
但是,我确定在安排新的PendingIntent之前我取消了预定的PendingIntent.并且每个PendingIntent都不会以相同的方式重新创建,因此它应该完全相同.如果没有,则此线程问题不再相关.
使用日历时,您是否考虑到日历使用的时间精确到毫秒。也许您应该将毫秒字段和秒字段设置为零,这样就可以了。
另外一天使用这个会更容易
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(0);
cal.add(Calendar.DAY_OF_MONTH, 1);
Run Code Online (Sandbox Code Playgroud)
另外,当您使用 getInstance 时,是否不会将日历时间设置为其创建时间,因此不需要再次设置时间,对吗?
| 归档时间: |
|
| 查看次数: |
2125 次 |
| 最近记录: |