因此,我在JobService.class
中设置了一条通知,并且我确定它可以正常工作。问题是我认为自己的JobService
从未被打过电话。我希望我的应用每隔几个小时检查一次数据库,如果它符合某些条件,它将发送通知。我在JobService
中这样开始MainActivity
:
ComponentName componentName = new ComponentName(MainActivity.this, JobService.class);
JobInfo info = new JobInfo.Builder(6484, componentName)
.setPeriodic(1000 * 60 * 15)
.build();
JobScheduler scheduler = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);
if (scheduler != null) {
scheduler.schedule(info);
}
这是我的JobService
,因为它太长了。我剪掉了通知部分的代码,因为它太长了。
@Override
public boolean onStartJob(JobParameters jobParameters) {
{//when it matches the criteria and the notification is sent
jobFinished(jobParameters, false);
}
return true;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
if (databaseReference != null && valueEventListener != null) {
databaseReference.removeEventListener(valueEventListener);
}
return false;
}
PS。我确定我的通知有效,因为在使用Service类之前,它将发送通知。我只需要切换,因为它不会在后台检查更新。
为什么?