在我致电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将不会被处理:(如何我可以这样做吗?