1

以下のコードは、ネットワーク接続がある場合にのみ実行される定期的なジョブを設定することになっています。定期的であるにもかかわらず、要求された条件が満たされない限り実行されないことを意味します。setRequiredNetworkTypeは定期的なタスクでは機能しませんか?

しかし、それは動作しません。ネットワークがあるかどうかに関わらず、常にこの期間の後に実行されます。私は何か間違っているのですか?

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

答えて

0

setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)ネットワークに関係なくジョブが実行されます。

ドキュメント

いずれかに記載の - ネットワークが接続されている必要はありません。 「この仕事はネットワーク接続が必要」:

は `NETWORK_TYPE_ANY`のドキュメントは言うsetRequiredNetworkType(JobInfo.NetworkType.CONNECTED)

+0

にそれを交換してみてください 'JobInfo.NetworkType.CONNECTED'はまったく存在しません。 – user2137020

関連する問題