【问题标题】:JobDispatcher.cancel() is not calling onStopJob()JobDispatcher.cancel() 没有调用 onStopJob()
【发布时间】:2017-09-16 19:26:04
【问题描述】:

我在我的项目中使用了FirebaseJobDispatcher。这是示例代码。

public class MyCustomDispatcher extends JobService {
    @Override
    public boolean onStartJob(JobParameters job) {
        Log.e("MyCustomDispatcher", "onStartJob() called with: " + "job = [" + job.getTag() + "]");

        return false;
    }

    @Override
    public boolean onStopJob(JobParameters job) {
        Log.e("MyCustomDispatcher", "onStopJob() called with: " + "job = [" + job + "]");
        return false;
    }
}

为了开始我的工作,我在我的活动中做了一些简单的事情。

FirebaseJobDispatcher firebaseJobDispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
Job myJob = firebaseJobDispatcher.newJobBuilder()
            .setService(MyCustomDispatcher.class)
            .setTag("service")
            .setRecurring(false)
            .setTrigger(Trigger.executionWindow(0,10))
            .setConstraints(Constraint.ON_ANY_NETWORK)
            .build();

firebaseJobDispatcher.mustSchedule(myJob);

它正在启动我的服务,并且每当我安排我的工作时都会调用onStartJob()

唯一的问题是当我使用firebaseJobDispatcher.cancel("service"); 时,它没有调用onStopJob()

这是实际行为还是我遗漏了什么?

【问题讨论】:

    标签: android firebase firebase-job-dispatcher


    【解决方案1】:

    我相信 onStopJob() 仅在您的作业在完成任何 onStartJob() 尝试执行的操作之前停止时才被调用。

    【讨论】:

      【解决方案2】:

      我也遇到过这个问题,但是当我为这两种方法设置 return true 时,onStopJob 会被调用。我希望它会帮助你。

      【讨论】:

        猜你喜欢
        • 2019-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-09
        • 2013-11-06
        • 2014-11-28
        • 2013-08-11
        • 2017-08-19
        相关资源
        最近更新 更多