gpt4 book ai didi

Android Oreo 服务限制会影响作业调度程序的 intentservices 吗?

转载 作者:太空狗 更新时间:2023-10-29 16:27:36 25 4
gpt4 key购买 nike

由于 Oreo 中引入了新的后台服务限制,我很难找到一个地方来阐明 IntentServices 在应用程序处于后台时是否仍可以从 JobScheduler 启动。

我有一个基于地理围栏的非常重要的功能,需要在围栏被打破后运行 intentService。我花了很长时间将其设置为在栅栏被打破并且该应用程序处于 DOZE 状态时为牛轧糖排队。当重新打开网络连接窗口时作业最终由操作系统运行时,我在 intentService 中一个接一个地剥离每个作业。我现在可以不再这样做吗,因为我在技术上启动了一项服务,而应用程序不在前台,或者因为我正在使用 JobScheduler,这仍然被允许吗?

最佳答案

您不应假定您的应用能够从作业启动服务。特别是,应用程序在其作业执行时经常仍处于后台状态,在后台状态调用 startService() 将引发异常。当然,调用startForegroundService()总是合法的;尽管显然这也对 UI 有影响。

JobIntentService 明确旨在以与 Android O+ 后台限制兼容的方式替换 IntentService。您应该考虑切换到它,而不是使用旧的 IntentService 支持类。

关于Android Oreo 服务限制会影响作业调度程序的 intentservices 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46270941/

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