我在创建后台服务以循环http请求并在数据更改时推送通知时遇到问题。 在android中: 第一次,我尝试使用Service,它运行得非常好,但是当我关闭该应用程序时却无法运行。 第二次,我尝试使用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);