主要问题
假设我有一个派生自JobService
的服务,我在onStartJob
返回true表示我正在运行一个长期运行的外部线程。
进一步说系统决定拨打onStopJob
。
现在,在我正确停止线程后,是否应该调用jobFinished
?
其中一个选项必须是真的,但是哪个?
jobFinished
是否被调用,如果onStartJob
返回true,则必须始终调用onStopJob
jobFinished
,则不能调用onStopJob
(可能存在空指针异常的风险?)jobFinished
被调用,则调用onStopJob
无关紧要加分问题
如果onStopJob
被调用并且返回true以重新安排作业,那么一旦线程停止jobFinished
被调用needRescedule = false(反之亦然),会发生什么?
答案 0 :(得分:1)
最近我在这个JobService上工作,是的,它的API非常混乱,文档很少。以下是对您的疑问的回答
Android会继续使用您选择的RetryStrategy重试您的工作,直到