首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android JobIntentService - onStartCommand vs onHandleWork

Android JobIntentService - onStartCommand vs onHandleWork
EN

Stack Overflow用户
提问于 2018-03-08 13:02:45
回答 2查看 2.3K关注 0票数 3

我目前正在从Service类扩展到我的自定义服务实现。作为Android-O迁移的一部分,我想使用JobIntentService.。

当前,我所有的逻辑都在服务的onStartCommand方法中。

但是,按照JobIntentService,我应该使用onHandleWork方法作为逻辑部分。

JobIntentService的正式文档表示,onStartCommand进程在作为预O服务运行时启动命令,并将它们排队等待稍后在onHandleWork中发送(意图)。

所以,我的问题是,我是否需要同时使用onStartCommand和onHandleWork方法&是否需要在这两个方法中编写相同的逻辑?

简单地说,onHandleWork会起作用吗?

请澄清。

EN

回答 2

Stack Overflow用户

发布于 2018-03-08 14:04:45

当前,我所有的逻辑都在服务的onStartCommand方法中。

现在还不清楚你为什么会有这样的服务。您的服务需要发送一个后台线程,这意味着创建其他类(例如,ThreadRunnable的子类)。

是否需要同时保留onStartCommand和onHandleWork方法&是否需要在这两个方法中编写相同的逻辑?

如果您使用的是JobIntentService,则将所有内容都放在onHandleWork()中。这是onHandleIntent()IntentService中的一个直接模拟--它将在后台线程上调用,如果在方法返回时没有更多的工作要做,服务就会消失。

票数 3
EN

Stack Overflow用户

发布于 2018-05-08 09:00:31

您需要使用enqueueWork(@NonNull上下文上下文、@NonNull类cls、int jobId、@NonNull意图工作)

从JobIntentService开始作业

请参阅https://developer.android.com/reference/android/support/v4/app/JobIntentService

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49173775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档