O jobScheduler do Android não para com jobFinished (params, false)

Estou tentando criar um jobService. Aqui está a aparência de onStartJob ().

@Override
public boolean onStartJob(JobParameters params) {
    Log.d(TAG, "onStartJob");
    Log.d(TAG, "Params= " + params.getJobId());
    param = params;
    jobFinished(params, false);
    //startAsync();
    return true;
}


@Override
public boolean onStopJob(JobParameters params) {
     Log.d(TAG, "onStopJob");
    return false;
}

Aqui está o código que deve iniciar o trabalho.

public void startJobScheduler(){
    Log.d(TAG, "inside startJobScheduler");
    Activity activity = this.cordova.getActivity();
    Context context = activity.getApplicationContext();


     mJobScheduler = (JobScheduler)context.getSystemService(Context.JOB_SCHEDULER_SERVICE );
     JobInfo.Builder job = new JobInfo.Builder(111, new ComponentName(context, JobSchedulerService.class));

     job.setPeriodic(60000);
     Log.d(TAG, "before mJobScheduler.schedule(job.build())");
     if( mJobScheduler.schedule( job.build() ) <= 0 ) {
         Log.d(TAG, "job schedule failed");
     }
    Log.d(TAG, "333");
}

Não consigo parar. Ele continua disparando a cada 1-5 minutos. Coloquei jobFinished (params, false) em onStartJob () e comentei a tarefa de tentar eliminá-lo logo após o início, mas ele continua disparando. Parece que jobFinished () dispara alguma coisa, como onDestroy () é chamado e meu serviço é destruído, mas outro trabalho entra com o mesmo ID e inicia tudo de volta.

Eu tenho BIND_JOB_SERVICE no manifesto, como todo exemplo mostra.

Alguma idéia de por que jobFinished (params, false) parece não matar o setPeriodic (60000)?

questionAnswers(2)

yourAnswerToTheQuestion