У меня проблема с созданием фоновой службы для зацикливания http-запроса и отправки уведомления, если данные изменяются.
В андроиде:
В первый раз я пытаюсь использовать Сервис, он работает очень хорошо, но не запускается, когда я закрываю приложение.
Во второй раз я пытаюсь использовать JobService, но это ничего не делает. При отладке я вижу, что, может быть, я не могу добраться до JobService.
Код службы работы:
public override bool OnStartJob(JobParameters @params)
{
Task.Run(() =>
{
CheckData();// my code here
}
);
return true;
}
public override bool OnStopJob(JobParameters @params)
{
return false;
}
В основной деятельности:
Java.Lang.Class javaClass = Java.Lang.Class.FromType(typeof(NotificationJobService));
ComponentName component = new ComponentName(ApplicationContext, javaClass);
JobInfo.Builder builder = new JobInfo.Builder(1, component)
.SetRequiresCharging(true)
.SetRequiredNetworkType(NetworkType.Unmetered)
.SetPersisted(true)
.SetPeriodic(3000);
JobInfo jobInfo = builder.Build();
JobScheduler jobScheduler = (JobScheduler)GetSystemService(JobSchedulerService);
int res = jobScheduler.Schedule(jobInfo);