Man*_*265 39 android android-service
我正在看Vogella的调度教程.它提到了Android的API 21中引入的Job Scheduler API.我的问题是它可以在低于21(Lollipop)但不低于Android版本3(Honeycomb)的API中实现吗?
fil*_*och 37
从现在开始(在I/O 2015之后),您还可以使用新的GcmNetworkManager.如何使用它及其工作原理在此处描述 - https://developers.google.com/cloud-messaging/network-manager
它做了很多很酷的事情,比如它通过重新启动来坚持你的任务.在Lolipop上它使用JobScheduler,在Lolipop之前它使用它自己的实现.
编辑:
关于如何使用它的示例代码:https://github.com/jacktech24/gcmnetworkmanager-android-example
iMo*_*aio 12
棒棒糖前设备的推荐方法是使用https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-
有关详情,请访问https://developer.android.com/topic/performance/scheduling.html#fjd
Firebase JobDispatcher是一个开源库,在Android平台上提供类似于JobScheduler的API.Firebase JobDispatcher用作面向低于5.0的Android版本(API级别21)的应用的JobScheduler兼容层.
Firebase JobDispatcher支持将Google Play服务用作调度(运行)作业的实现,但该库还允许您定义和使用其他实现:例如,您可能决定使用JobScheduler或编写自己的自定义代码.由于这种多功能性,如果您的应用针对的Android版本低于5.0(API级别21),我们建议您使用此Firebase JobDispatcher.
有关Firebase JobDispatcher的详细信息,请参阅其文档和源代码.
有一些方法可以在棒棒糖前运行"作业".
如前所述,您可以使用该JobSchedulerCompat库,但与默认的Lollipop API相比,此库有很大的不同:
在Lollipop上,作业会立即进行批量处理并安排在所有应用程序中.但是,该库无法访问其他应用程序数据,因此无法使用该库组合来自两个不同应用程序的作业.
您可能想要尝试的另一个选项是AlarmManagerAPI.此API可用于调度作业,但一个区别是AlarmManager除了运行作业的计时之外没有其他约束.
由于KitKat,AlarmManager API也会在未使用"精确"方法进行调度时批量处理作业.在KitKat作业未批处理之前.
如果您的目标是同步数据,那么Sync-Adapter API可能很有用:Sync-Adapter
参考文献:AlarmManager,JobSchedulerCompat
根据最新的后台作业调度API,您应该使用当前在Alpha中的 WorkManager 。
WorkManager允许您安排需要保证完成的后台任务(无论是否正在执行应用程序进程)。WorkManager为API 14+设备提供了类似于JobScheduler的功能,即使那些没有Google Play服务的设备也是如此。
WorkManager是可查询的(可观察的),对工作图具有强大的支持,并具有流畅的API。
如果使用的是JobScheduler,FireBaseJobScheduler和/或AlarmManager加上BroadcastReceivers,则应考虑使用WorkManager。要了解更多信息,请参阅工作管理器。
| 归档时间: |
|
| 查看次数: |
25657 次 |
| 最近记录: |