Android:AlarmManager 不工作长间隔值

标签 android alarmmanager

我正在使用 AlarmManager 进行小部件更新事务。我有不同的间隔值,例如 5、10、15、30 分钟等。

如何调用AlarmManager:

alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyService.class);
pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);        

// Interval value, default 600 (600*1000 -> 10 min)
Long repeat = Long.parseLong(prefs.getString("update_preference", "600"));

// Set the manager
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), 1000*repeat, pi);

所以如果用户选择 5 或 10 分钟,就可以了。但如果不是,我的意思是,用户选择更大的值,例如 15、30、60 分钟,MyService 不会在 setRepetaing 后立即工作。

有什么区别或错误?

编辑:它可以立即运行 <30 分钟,但现在使用唯一的请求代码可以运行超过 30 分钟。

最佳答案

我认为你必须在 PendingIntent 中使用唯一的请求代码

Mulitple Instances of Pending Intent

关于Android:AlarmManager 不工作长间隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10597853/

相关文章:

android - AppWidget每分钟更新一次

Android Maven 插件 apklib Mojo 在生成的 apklib 中不包含已编译的 R

android - 高 DPI 手机上的低质量图像

javascript - iPhone/Android 浏览器偶尔会跟随链接 href 而不是 jQuery onclick 事件

android - 如何在不更改版本的情况下排除重复类

android - 使用服务创建一个即使应用程序最小化也会运行的计时器?

android - 通过 WorkManager API 在每个星期五安排一个特定任务

android - Android 版谷歌分析。收到通知的用户被计为活跃用户

Android 通知只显示一次

android - 关于android中AlarmManager的CPU锁的困惑