2017-10-27 1 views
0

Ich versuche alle 5 Sekunden den Server zu treffen. Früher verwende ich den Alarmmanager. Danach benutze ich den Job Scheduler. Aber wenn ich meine App auf Nougat-Geräten installiere, läuft dieser Job Scheduler nicht. Also wechsle ich zu FirebaseJobDispatcher. FirebaseJobDispatcher wird jedoch nicht alle 5 Sekunden ausgeführt. Hiermit habe ich den Code, den ich verwende, angehängt.FirebaseJobDispatcher wird nicht alle 5 Sekunden ausgeführt

public Job createJob(FirebaseJobDispatcher dispatcher){ 

     Job job = dispatcher.newJobBuilder() 
       .setLifetime(Lifetime.FOREVER) 
       .setService(ScheduledJobService.class) 
       .setTag("getTask") 
       .setReplaceCurrent(false) 
       .setRecurring(true) 
       .setTrigger(Trigger.executionWindow(0, 5)) 
       .setRetryStrategy(RetryStrategy.DEFAULT_LINEAR) 
       .setConstraints(Constraint.ON_ANY_NETWORK) 
       .build(); 
     return job; 
    } 

public void scheduleJob(Context context) { 
     FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context)); 
     Job job = createJob(dispatcher); 
     dispatcher.mustSchedule(job); 
    } 

Bitte helfen Sie mir, dieses Problem zu lösen.

+0

Ist es ca. alle 1 min zu arbeiten? –

+0

Ja. Es funktioniert manchmal für 1 min einige Male dauert es zwei und mehr. –

+0

Ja, es gibt eine Beschränkung auf den Firebase Job Dispatcher mit API 24 oder höher. Es wird mindestens 1 Minute verlängert. Verwenden Sie den Android Rahmen Arbeit Job Service –

Antwort

-1

stellen Sie sicher, dass Sie Ihren Dienst in Manifest registrieren Firebase JobDispatcher

+0

Ja. Ich habe mich im Manifest registriert. –

+0

Warum stimmen Sie meine Antwort ab? –

Verwandte Themen