На самом деле! Я хочу сделать приложение, которое постоянно обнаруживает, что соединение Inte rnet подключено или отключено. Для этого я использую Job Scheduler, потому что он также работает на версии Oreo или выше. Для этого я установил задание Info Info .setRequiredNetworkType (JobInfo.NETWORK_TYPE_NONE), потому что я хочу, чтобы onStartJob () запускался при отсутствии соединения, но он не работает таким образом ... `
Это код для создание Job.
public void scheduleJob(View view) {
ComponentName componentName = new ComponentName(this, ExampleServiceClass.class);
JobInfo info = new JobInfo.Builder(123, componentName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE)
.setMinimumLatency(1000)
.build();
JobScheduler scheduler = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);
int resultCode = scheduler.schedule(info);
if (resultCode == JobScheduler.RESULT_SUCCESS) {
Log.d(TAG, "Job scheduled");
} else {
Log.d(TAG, "Job scheduling failed");
}
}
Это код класса, где я расширил JobService
public class ExampleServiceClass extends JobService {
private static final String TAG = "ExampleJobService";
private boolean jobCancelled = false;
@Override
public boolean onStartJob(JobParameters jobParameters) {
Toast.makeText(this, ""+, Toast.LENGTH_SHORT).show();
MainActivity.scheduleTheJob(getApplicationContext());
return false;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
Log.d(TAG, "Job cancelled before completion");
Toast.makeText(this, "job stopped!!!", Toast.LENGTH_SHORT).show();
return true;
}
}