- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上我想做的是,当有互联网连接时,然后从传感器收集值并安排下一次从传感器收集数据的时间,假设是 5 分钟(这个间隔取决于当前的 Activity :步行、运行。 ..). 5 分钟后,系统检查是否有互联网连接:
-如果有则重复这个循环(收集,发送到服务器并安排下一次数据收集)
*如果没有,则下一次收集数据的时间安排在下一次有可用的互联网连接时
我尝试使用的是:
1) 我想为 api<21 使用广播接收器,为 api>=21 使用作业调度程序。对于作业调度程序,我无法设置要求可用网络并同时使作业成为周期性的,因为这样无论是否满足要求,作业都会在周期结束后运行。
2)我试图让作业服务在当前作业结束后设置下一个作业,但应用程序运行时就好像那部分代码不存在一样(它只运行了一次)
3) 我试图以某种方式将作业调度程序与警报管理器结合起来,使作业调度程序管理网络需求,而警报管理器管理作业的周期性方面。但是我没有实现这个,我觉得这不是正确的方法。
如果有人能指导我找到更好的方法来处理这个问题,我将非常感激,因为我已经花了很长时间试图解决这个问题。
最佳答案
我会推荐来自 Evernote 的图书馆,名为 android-job .它处理在 21+ 上选择 JobScheduler、Firebase/GcmNetworkManager 或 AlarmManager 以及各种其他事情的所有复杂性。它具有一组非常强大的功能,应该适合您的用例。
例如:
int jobId = new JobRequest.Builder(DemoSyncJob.TAG)
.setExecutionWindow(30_000L, 40_000L)
.setBackoffCriteria(5_000L, JobRequest.BackoffPolicy.EXPONENTIAL)
.setRequiresCharging(true)
.setRequiresDeviceIdle(false)
.setRequiredNetworkType(JobRequest.NetworkType.CONNECTED)
.setExtras(extras)
.setRequirementsEnforced(true)
.setPersisted(true)
.setUpdateCurrent(true)
.build()
.schedule();
关于android - 使用 Job Scheduler 管理周期性任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42448150/
我已经完成了创建和启动计时器的手册页。 http://man7.org/linux/man-pages/man2/timerfd_create.2.html 但是,除了 arm(start) 和 di
我正在用 opengl 编写新的代码库,很早就遇到了一个奇怪的错误。这是帧速率的明显波动,具有重复性和可预测性。 我知道它肯定与渲染的对象成正比。它也与屏幕大小成正比(不是视口(viewport)大小
我知道如何使用计算数组中点之间的欧几里得距离 scipy.spatial.distance.cdist 类似于这个问题的答案: Calculate Distances Between One Poin
我想使用 CGAL 构造周期性 3D Delaunay 三角剖分和信息(在本例中为整数)。对于 2D,如果我构造一个 vector 对(点,信息)并将其传递给三角测量函数,则效果很好。然而,非常类似的
每隔几天,我们就会收到少量 MySql 超时错误,这些错误与我们的 MySQL RDS 实例上的 CPU 和数据库连接出现大量峰值相对应。这些查询通常非常快(<5 毫秒),但突然超时。 此时,数据库操
我是一名优秀的程序员,十分优秀!