Итак, в моем 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, он отправлял уведомление. Я просто должен был переключиться, потому что он не будет проверять наличие обновлений в фоновом режиме.
Почему?