@ Sudipta для предыдущей версии Oreo вы должны использовать jobscheduler.
- Создать класс JobScheduler
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class JobSchedulerClass extends JobService {
@Override
public boolean onStartJob(JobParameters params) {
return false;
}
@Override
public boolean onStopJob(JobParameters params) {
Intent startService = new Intent(this, YourServiceClass.class);
ContextCompat.startForegroundService(this, startService);
return false;
}
}
- Вызовите класс обслуживания и класс обслуживания на основе версии устройства, на котором работает
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo jobInfo = new JobInfo.Builder(11, new ComponentName(context, JobSchedulerClass.class))
.setRequiresBatteryNotLow(false)
.setMinimumLatency(100)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_NONE)
.build();
assert jobScheduler != null;
jobScheduler.schedule(jobInfo);
} else {
Intent startService = new Intent(context, YourServiceClass.class);
context.startService(startService);
}