在调用jobFinished(mParams,false)后,为什么这个工作还在等待?

时间:2017-07-28 06:45:17

标签: android android-jobscheduler

在我致电jobFinished(mParams, false)后,我可以看到作业仍处于等待状态,因为当我仍然可以看到作业后,我getPendingJob

当工作完成后,我想安排一份新工作,但我不能,因为getPendingJob说工作仍然在运行,如果我jobScheduler.schedule,那么它就是' s将停止当前的工作(不知道是否有问题)

注意:取消当前正在运行的作业的主要问题是要调用事件onStopJob(JobParameters params)。这确实有问题

这是jobFinished 在android 中实现的代码,如果它可以帮助别人理解

public final void jobFinished(JobParameters params, boolean needsReschedule) {
    ensureHandler();
    Message m = Message.obtain(mHandler, MSG_JOB_FINISHED, params);
    m.arg2 = needsReschedule ? 1 : 0;
    m.sendToTarget();
}

当然,它的缝隙是jobFinished只会发送一条将在循环器中处理的消息(在下一循环中),所以在我离开当前循环之前,jobFinished将不会被处理:(如何我可以这样做吗?

0 个答案:

没有答案