Android jobScheduler hört nicht auf mit jobFinished (params, false)

Ich versuche einen JobService zu erstellen. So sieht onStartJob () aus.

@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;
}

Hier ist der Code, der den Job starten soll.

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");
}

Ich kann es nicht aufhalten. Es feuert einfach alle 1-5 Minuten. Ich habe jobFinished (params, false) in onStartJob () eingefügt und die Aufgabe auskommentiert, um zu versuchen, sie sofort nach dem Start abzutöten, aber sie wird einfach weiter ausgelöst. Es scheint, dass jobFinished () etwas auslöst, da onDestroy () aufgerufen wird und mein Dienst zerstört wird, aber dann kommt ein anderer Job mit derselben ID und startet alles wieder.

Ich habe BIND_JOB_SERVICE im Manifest, wie jedes Beispiel zeigt.

Irgendwelche Ideen, warum jobFinished (params, false) das setPeriodic (60000) nicht zu töten scheint?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage