是否有一个库或至少一些开源示例提供了新的Android-L JobScheduler API的功能。这并不难实现我自己的版本(功能非常有限),但另一方面它也不是微不足道的。
总而言之,至少可以提供新JobScheduler API功能的子集吗?
答案 0 :(得分:8)
只需使用GCM Network Manager即可。它提供API来安排任务。它适用于API前级21设备。在API级别21+设备上,它在内部使用Job Scheduler。
答案 1 :(得分:7)
你可以自己做一些,但不幸的是,一个应用程序本身不能实现与许多作业调度程序API相当的功能。问题是监视作业调度程序提供的几个执行条件(特别是计费状态,设备空闲和连接)将要求您的应用程序不断运行,只是为了接收有关这些状态的广播 - 以及运行的性能成本即使你的应用程序是唯一一个这样做的人,它也会不断超过其他好处。如果每个应用程序都试图连续运行以进行相同类型的监控,那么用户的体验将会非常糟糕。
你能以合理的方式亲近的最近就是提供服务"偶尔"检查您感兴趣的限制因素,如果他们在您检查时没有按住,请退回并稍后重试。你也需要注意你如何安排事情 - 特别是,如果你将要使用网络,你需要非常小心你不是意外导致大量设备同时攻击网络。如果他们从网络上的每台设备上看到来自您应用的同步流量,则手机运营商会非常不满意。另外,请尽量避免使用确切的警报,以便操作系统有余地批量处理您的应用与其他人的工作。
不幸的是,设备闲置/用户活动很难让您的应用自行跟踪,但连接和充电状态随时可用。
您可以使用的最终工具是Sync Manager,它需要使用更多基础架构,但确实提供了一些相当强大的调度功能,尤其是在连接要求方面。
答案 2 :(得分:5)
Android Lollipop的JobScheduler向api 10+的后端 https://github.com/evant/JobSchedulerCompat
答案 3 :(得分:2)
截至2015年11月,该图书馆https://github.com/evant/JobSchedulerCompat提到它未得到积极维护
警告此项目未得到维护!
这是一个名为Trigger https://github.com/airk000/Trigger的库,它也声称是JobScheduler服务的后端,并且根据其文档具有以下功能。