2017-05-25 9 views
0

ジョブスケジューラを使用しています if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { jobInfo = new JobInfo.Builder(1, componentName) .setMinimumLatency(60000) .setRequiredNetworkType(networkType) .setPersisted(isPersistent) .build(); } else { jobInfo = new JobInfo.Builder(1, componentName) .setPeriodic(60000) .setRequiredNetworkType(networkType) .setPersisted(isPersistent) .build(); } setMinimumLatency(60000) - > 1分ごとに実行されません。ジョブスケジューラandroid nougat毎分動作しません。

答えて

0

setMinimumLatency()は繰り返しジョブを設定しません。これは、一度発生するジョブを設定します。

+0

それでは、ノーガットバージョンで1分ごとにプロセスを実行するにはどうすればいいですか? –

+0

@RajeshKanna:一般的に、あなたはできません。 'AlarmManager'は毎分繰り返し作業をスケジュールすることができますが、手動で行う必要があります(例えば、' setExact() 'を使って作業をトリガする必要があります。作業の一部は' setExact() 'を呼び出して次の作業)。しかし、ほとんどのAndroid 6.0+デバイスはほとんどの場合、Dozeモードになっており、その間はアラームは呼び出されません。ユーザーは、このような頻繁なバックグラウンド作業をしようとするアプリが好きではないということをかなり大声で表明しています。そのため、GoogleはAndroidの対応を強化しています。 – CommonsWare

関連する問題