Android java.lang.IllegalArgumentException: Нет такой службы ComponentInfo JobScheduler
Я попытался создать простую работу JobScheduler
просто чтобы посмотреть, как она работает.
но я продолжаю получать это исключение во время выполнения, я не могу понять это, поскольку я следовал инструкциям шаг за шагом.
Это мой звонок:
ComponentName componentName = new ComponentName(getApplicationContext(), TestService.class);
JobInfo jobInfo = new JobInfo.Builder(1, componentName).setPeriodic(300000)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).build();
JobScheduler tm =
(JobScheduler) getApplicationContext().getSystemService(Context.JOB_SCHEDULER_SERVICE);
tm.schedule(jobInfo);
TestService
не делает ничего, кроме extends JobService
.
Ответы
Ответ 1
Вам нужно добавить разрешение android.permission.BIND_JOB_SERVICE
в свой AndroidManifest.xml
...
<service android:name=".TestService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="true"/>
...
</application>
Ответ 2
Попробуйте очистить проект. Это был мой случай.
Ответ 3
Вы добавили сервис в манифест? его высказывание, что вы не объявили свою службу в манифесте
Ответ 4
Моя проблема заключалась в том, что моя Служба была определена как статический внутренний класс. Проблема разрешилась, как только я переместил класс службы в свой собственный файл Java