gpt4 book ai didi

android - API 26 (Android 8.0 Oreo) 弃用了 IntentService + WakefulBroadcastReceiver + AlarmManager。哪个是最好的选择?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:28 27 4
gpt4 key购买 nike

有时在我的应用程序中,我需要在后台重复执行某些操作(每 X 小时)。

我使用的 API 25:

  • AlarmManager 带 setInexactRepeating(尊重电池)
  • WakefulBroadcastReceiver 有足够的时间完成所有工作
  • IntentService 在后台线程中完成所有工作

在 API 26 上,所有这些都已弃用或受到限制,建议使用 JobSchedulerJobService 代替。

问题是 JobService 在主线程中运行。

我想在 JobService 中使用 AsyncTask 并在 onPostExecute 中调用 JobService.jobFinished

这是执行此操作的正确方法吗?

最佳答案

您可以使用支持库 26 的 JobIntentService,它具有 IntentService 的确切工作流程。对于 Oreo 之前的设备,JobIntentService 将使用旧的 IntentService。 JobIntentService 类依赖于android 的JobScheduler API。

更多, https://developer.android.com/reference/android/support/v4/app/JobIntentService.html

关于android - API 26 (Android 8.0 Oreo) 弃用了 IntentService + WakefulBroadcastReceiver + AlarmManager。哪个是最好的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46650619/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com