取消和重新启动警报无法正常工作

罗伯特

我有一个WakefulIntentService,它基本上以一定的固定间隔ping服务器以检查一些数据。

WakefulIntentService.scheduleAlarms(new PingWakefulListener(), this, false);

如果有数据,我取消警报

WakefulIntentService.cancelAlarms(getApplicationContext());

处理数据。

处理完成后,我将重新安排警报的时间

WakefulIntentService.scheduleAlarms(new PingWakefulListener(), AcceptOrder.this, false);

我观察到的是,当force(第三个参数)为false时,不会再次安排警报。因此,服务器不会再次被ping通。

但是,如果设置forcetrue,则两个服务会同时运行。

排定和取消警报的正确方法是什么?

我发现,上次警报后经过的时间少于getMaxAge因此,不会再次安排警报。但是,取消警报应该可以清除该问题。

常用软件

实际上,它看起来cancelAlarms()只是删除AlarmManager事件,而不更新SharedPreferences那是一个错误,我将在本周末进行修复。

话虽这么说,scheduleAlarms()鉴于AlarmManagerAndroid 4.4+上的新的不精确自然行为,我对此有些不安确保getMaxAge()返回足够大的值以考虑不精确性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

VM的网桥在重新启动后无法正常工作

重新启动我的游戏无法正常工作

重新启动后mount cephfs无法正常工作

重新启动设备后,Google Maps无法正常工作

Postgres pg_ctl重新启动无法正常工作

SaltStack监视文件重新启动服务无法正常工作

.bashrc重新启动后无法正常工作

由cron作业启动时,停止重新启动我的apache和mysql服务的脚本无法正常工作

axios取消的请求无法重新启动

重新启动系统后无法使用MySql innodb群集沙箱/无法正常工作?

Apache2在Ubuntu 14.04中无法正常工作:无法重新启动,作业未知

无法使Ansible等待服务器重新启动并继续使剧本正常工作

登录/重新启动后,.bashrc中的别名mysql无法正常工作

重新启动计算机后,更新至16.10无法正常工作

手动重新启动networking.service之前,SSH无法正常工作

无法获取mysql服务,重新启动前可以正常工作

警报管理器和待定意图取消无法正常工作

Crontab无法正常运作,系统无法重新启动

检查串行设备是否正常工作,否则重新启动

Tkinter程序在第一次尝试时无法正常运行,重新启动后可以正常工作

重新启动电脑后,Windows 10任务栏/ Cortana /开始菜单无法正常工作

自定义ListView onClick更改图像,重新启动活动后notifyDataSetInvalidated无法正常工作

重新启动Wi-Fi,USB端口,LAN后的Ubuntu 15.10无法正常工作!请帮忙

重新启动笔记本计算机后合上盖子,网络无法正常工作

如何在 GUI 无法正常工作的情况下使用终端重新启动计算机

无法使工作在重新启动后持续存在吗?

无法重新启动 Windows 10 工作站

重新启动 docker 时无法清理 Jetty 工作目录

重新启动后的警报设置