Я пытаюсь реализовать JobScheduler в своем приложении, но у меня есть проблема, которую я не могу понять.Android JobScheduler: JobService с отключением сети, даже если у моего устройства нет сетевого подключения.
Целью является запуск службы, когда на моем устройстве доступно подключение к Интернету с интервалом в 10 секунд.
Так я использую JobScheduler таким образом:
JobScheduler mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo.Builder builder = new JobInfo.Builder(1, new ComponentName(getPackageName(),
MyJobService.class.getName()))
.setRequiredNetworkType(NETWORK_TYPE_ANY)
.setPeriodic(10 * 1000);
if (mJobScheduler.schedule(builder.build()) <= 0) {
Log.e("gch", "can't Schedule job for MyJobService");
} else {
Log.d("gch", "Schedule job for MyJobService");
}
И мой JobService:
public class MyJobService extends android.app.job.JobService {
public MyJobService() {
}
@Override
public boolean onStartJob(JobParameters jobParameters) {
Log.d("gch", "onStartJob");
return false;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
Log.d("gch", "onStartonStopJob");
return true;
}
}
Конечно, я добавил android:permission="android.permission.BIND_JOB_SERVICE"
Если я правильно понимаю, мой JobService должен быть выполняется только в том случае, если у моего устройства есть сеть и не более одного раза в течение 10 секунд.
Но на моем устройстве у меня нет подключения к интернету (SIM-карта не вставлена и WIFI не в состоянии) НО моя работа выполняется каждые 10 секунд .. Кажется, NETWORK_TYPE_ANY игнорируется. Такая же проблема с NETWORK_TYPE_UNMETERED.
Кто-то уже сталкивается с этой проблемой?
Большое спасибо.
Возможный дубликат [API android L [API-интерфейса для рабочих групп] (http://stackoverflow.com/questions/27208776/jobscheduler-api-android-l) – Henning