小编Wez*_*zum的帖子

AlarmManager过早触发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 …
Run Code Online (Sandbox Code Playgroud)

android alarmmanager android-pendingintent

6
推荐指数
1
解决办法
2125
查看次数