- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
目前,在 Android 中,要根据时间或任何其他因素(如充电状态、网络状态等)定期执行任务,基本的三个选项是:Android AlarmManager (定期运行基于时间)、GCMTaskService (需要设备上的 Google Play 服务) 和 JobScheduler (需要 Android 版本 > 21 )。最近,我遇到了这两个用于安排作业的库,一个来自 Firebase,一个来自 Evernote。
我的主要问题是:这两个库如何比较?他们的长处和短处是什么?
我想构建一个应用程序,提醒用户在特定时间段后定期服药。
我的第二个问题是:简单的 AlarmManager 是否足以满足此目的,还是我应该使用这两个库中的任何一个?
谢谢。
最佳答案
How do these two libraries compare? What are their strength and weaknesses?
Firebase JobDispatcher 中有一个很好的比较表 github page :
关键区别在于 Google Play 服务的存在:Firebase 需要设备才能安装它,而 Evernote 是独立于 Play 服务的。
I want to build an app where a user is reminded of taking medicines periodically after certain time period. Would simple AlarmManager suffice for this purpose, or should I go for any of these two libraries?
根据经验,您很可能不需要 AlarmManager
,因为它会耗尽电池电量。作业调度程序的一个关键特性是它们组合作业并在单个窗口中执行它们,因此设备不会过于频繁地唤醒。
你最好坚持使用工作调度器,除非服药应该有准确的时间,比如警报(例如,你想通知用户在 3 小时内准确服药)。
关于android - Firebase JobDispatcher vs Evernote Android Job——这两者如何比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43198096/
我在为firebase jobdispatcher添加依赖项时遇到问题,我已经用gradle文件来回尝试,我在Android SDK中安装了Google Play服务,但仍然无法编译该依赖关系。 这是
我正在开发一个应用程序,一个简单但希望令人上瘾的小游戏。用户必须尽快解决预定义的级别。 关卡信息在线存储在 MySQL 数据库中,其中还包含所有玩家完成给定关卡所需的平均时间。此外,关卡数据本地存储在
我在这一行遇到以下错误:.setService(LocationFirebaseJobService::class.java) : 类型推断失败。预期类型不匹配:推断类型为 Class但是Class预
我正在实现 Firebase Jobdispatcher,触发时间指定在 10 到 20 秒之间。这是我安排工作的代码: public static void scheduleCompatibleJo
根据这个例子,我看到我可以使用 Trigger.NOW 或 0,0 的时间让作业现在开始: Bundle myExtrasBundle = new Bundle(); myExtrasBundle.p
下面是我用来安排每次连接到互联网时触发作业的代码 FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlay
Possible Duplicate 我已经创建了一个 JobDispatcher 服务来持续在后台获取用户位置并将用户位置发布到服务器。为此,我创建了一个作业如下: private void sta
我在我的项目中使用了 FirebaseJobDispatcher。这是示例代码。 public class MyCustomDispatcher extends JobService { @O
我正在使用 Firebase-JobDispatcher .我已经安排了一些工作,如果我保持设备开关,它工作正常。但是如果我重新启动我的设备,那么计划的工作不会执行或者它不会被重新安排?我已经使用了
我已经阅读了所有可用的官方文档(令人惊讶的是它并不多),对于定期任务我所能得到的就是这段代码 .setRecurring(true) // start
我之前使用的是 GCM 网络管理器,但后来听说 Firebase JobDispatcher 包括 GCM 以及其他功能,所以我尝试使用它。我已经成功地编写了一个周期性任务并且它工作正常,但问题是我需
在 API > 21 上,当我的手机锁定时,此服务将停止工作(当我唤醒手机时,服务将开始工作)。这就是我所做的: public class JobDispacherService extends Jo
我正在尝试将 Firebase Job Dispatcher 添加到我的项目中,但由于此错误我无法构建: Gradle sync failed: Could not find com.firebase
我正在尝试使用 RxJava2 异步启动 Firebase jobdispatcher。 @Override public boolean onStartJob(JobParameters j
我在我的应用程序中使用 firebase jobdispatcher,但我遇到了一个问题。我想在任务完成后停止工作。我尝试在 onStartJob() 方法中调用 selfStop()。但它的 onS
我正在创建一个闹钟之类的应用程序,用户可以在其中为特定日期和时间添加余数,他们还可以选择重复来重复余数。 其余时间我不做任何特定于网络的工作。但是将来我可能需要使用特定于网络的工作,但目前还不需要。
我想实现 Firebase JobDispatcher 来运行后台操作。但是在扩展 JobService 时,它显示错误,因为 class requires api level 21。为什么 ?
目前,在 Android 中,要根据时间或任何其他因素(如充电状态、网络状态等)定期执行任务,基本的三个选项是:Android AlarmManager (定期运行基于时间)、GCMTaskServi
来自 Firebase JobDispatcher 文档 Firebase JobDispatcher setTrigger(Trigger.executionWindow(0, 60)) // st
我已经使用 Firebase 作业调度程序实现了作业调度。它在 doc 中给出具有特定操作 Action 的 IntentFilter 应该添加到作业服务中,如下所示 添加上面的 Int
我是一名优秀的程序员,十分优秀!