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.
Ist es ca. alle 1 min zu arbeiten? –
Ja. Es funktioniert manchmal für 1 min einige Male dauert es zwei und mehr. –
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 –