1

Das folgende Bit meines Codes soll einen periodischen Job festlegen, der nur ausgeführt wird, wenn eine Netzwerkverbindung besteht. Das heißt, obwohl es periodisch ist, wird es nicht ausgeführt, wenn die erforderliche Bedingung nicht erfüllt ist.setRequiredNetworkType funktioniert nicht bei periodischen Aufgaben?

Aber das funktioniert nicht. Es läuft immer nach dem Zeitraum, egal ob ein Netzwerk vorhanden ist oder nicht. Mache ich etwas falsch ?

JobScheduler mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); 
     JobInfo.Builder builder = null; 
     builder = new JobInfo.Builder(1, new ComponentName(getPackageName(), 
       MyJobService.class.getName())) 
       .setPersisted(true) 
       .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); 
       .setPeriodic(10 * 1000); 

Antwort

0

setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY) läuft Job unabhängig von Netzwerk besteht oder nicht.

Laut Dokumentation

ANY - Netzwerk muss nicht angeschlossen werden.

versuchen, es zu setRequiredNetworkType(JobInfo.NetworkType.CONNECTED)

+0

'NETWORK_TYPE_ANY' in der Dokumentation zu ersetzen, sagt: "Die Job-Netzwerk-Konnektivität erfordert". 'JobInfo.NetworkType.CONNECTED' existiert überhaupt nicht. – user2137020

Verwandte Themen