- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一款支持 Android API 版本 21 及更高版本的应用。我的大部分后台任务都是使用 API 21 中引入的 JobScheduler 设计的。
我最近遇到了 API 26 中引入的 JobIntentService。文档说“在 Android O 或更高版本上运行时,工作将通过 JobScheduler.enqueue 作为作业进行调度。在旧版本平台上运行时,它将使用 Context.startService。”
我想了解的是,为什么 android 仅从 API 26 而不是 API 21 使用 JoScheduler。API 26 及更高版本的 JobScheduler 与 API 21 中引入的 JobScheduler 有区别吗?我需要更改任何代码以提高效率/避免错误,将我的后台作业转换为使用 JobIntentService 而不是作业调度程序。我想我不明白 JobIntentService 试图实现的 Intent 。
最佳答案
I do not understand the intention of what JobIntentService is trying to achieve
JobIntentService
旨在替代 IntentService
/WakefulBroadcastReceiver
组合,用于可能需要一分钟以上的后台任务(但少于 10 个)并且您不希望为其使用前台服务。
why android is using JoScheduler only from API 26 and not from API 21
只有谷歌可以回答这个问题,这就是为什么问题的形式是“为什么开发者 X 做出了 Y 的决定?”对 Stack Overflow 不利。
请注意,“超过一分钟”的问题是由 API 级别 26+ 的背景限制引起的;在以前的版本中,没有这样的限制。
Is there a difference in JobScheduler on API 26 and above from that of the one introduced in API 21
有一些变化,包括一些使 JobIntentService
能够工作的扩展。
Do I need to change any code to improve efficiency/avoid mistakes, converting my background jobs to use JobIntentService instead of Job Schedulers
我不知道您为什么要从自己的 JobService
切换到 JobIntentService
。 JobIntentService
是 IntentService
的替代品,而不是 JobService
。
关于android - JobScheduler 和 JobIntentService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268657/
我知道 Android native (后 Lollipop)JobScheduler 和 GCM JobScheduler 都可以在重启后保留作业,但应用更新后呢?应用更新后我是否仍会调用作业? 谢
如何模仿 Android JobScheduler (或 GcmNetworkManager )Android 上 RxJava 的行为? 具体来说,我想要这个功能 了解网络 Activity 自动退
我有一个 jobscheduler,它发送由启动警报触发并被结束警报取消的通知,我有一个问题,如果我从最近的应用程序中删除应用程序或我重新启动手机,警报会在指定时间触发吗?以及作业调度程序会发生什么
注意:这不是重复的,请阅读问题 我想在设备每次充电和 WIFI 时运行一个作业。每次满足这些条件时,该作业最多必须运行一次。这意味着如果我让手机在 wifi 开启的情况下充电一夜,工作就不会重复。只有
我想每天调用一个方法来在我的应用程序中生成僵尸。 以下方法应创建执行此操作的 JobScheduler。 我的问题是:我是只调用一次这个方法,还是可以在应用程序启动时每次都调用它? public st
我正在使用 JobScheduler.setPeriodic() 来重复我的 JobIntentService。它第一次工作但从不重复。运行于安卓7.0 并发检查.java int mdelaymil
这可能吗?我需要启动我的前台服务,因为我在 UI 线程中使用它, 示例:每 25 分钟在我的应用中播放一个视频,该视频已关闭。 最佳答案 我认为这不是使用 JobScheduler 的最佳用例,但您可
我检查了从 Android API 级别 21 开始可以使用的 JobScheduler API。我想安排一个需要互联网并且每天只运行一次或可选的每周运行一次的任务(如果成功执行)。我没有找到关于这种
在 Android 模拟器上运行时,我无法让 JobScheduler 启动计划作业。如果我在运行 Android 6.0.1 的真实Samsung Galaxy S7 和 Nexus 5X 上进行测
我想在每天的特定时间启动 JobScheduler,并在 3 小时后完成。 我每 20 分钟触发一次作业,持续 3 小时,但在 JobInfo.Builder 类中没有在准确时间启 Action 业的
我的应用使用这种经典模式来安排周期性任务: 通过 AlarmManager 设置准确的闹钟(通过 setExactAndAllowWhileIdle(),因为即使在打瞌睡时它也必须关闭) 通过 Wak
这是我设置工作的方式: val builder = JobInfo.Builder(1, ComponentName(this, PullDataJob::class.java))
如何重新安排我使用 setPeriodic() 启动的 JobScheduler,我想稍后通过用户输入更改调度程序时间。 JobInfo.Builder builder = new JobIn
JobInfo.Builder 中的方法“setRequireDeviceIdle”到底是如何工作的?根据我在 Android 文档 (https://developer.android.com/re
我们正在通过 JobScheduler 实现作业用于后台加载数据。这项工作每天大约会触发一次。我们可以使用哪些工具来测试此功能(可能是 ADB)? 用例能够模拟作业运行所需的条件,或者只是明确地说“运
我正在试用 Android Lollipop 附带的新 JoScheduler API。到目前为止,我已经成功地创建并运行了一个延迟为 6000 毫秒的作业,没有任何网络要求。 但是,我刚刚尝试通过使
STEP_COUNTER 传感器的 Android 文档有点困惑。 根据这个:Android Sensor doc我应该始终注册 STEP_COUNTER 传感器,否则计步器传感器根本不会计数。这一切
我正在学习如何在 Android 中结合使用 JobSchedule 和 AsyncTasks。按照一些指南,我有以下 JobService 实现: @RequiresApi(Build.VERSIO
jobscheduler 每 10 分钟定期运行一次。一旦应用程序运行并保持每 10 分钟定期运行一次,我必须做些什么才能运行计划。现在发生的情况是:安装应用程序后,运行计划需要 10 分钟。如何让它
我遵循了一些关于 android 中的作业调度的在线教程,我尝试这样做,发现下面的代码编译没有错误。但问题是 onPostExecute/doInBackground 返回消息中没有 toast。有什
我是一名优秀的程序员,十分优秀!