Android java.lang.IllegalArgumentException: 没有这样的服务 ComponentInfo JobScheduler

Android java.lang.IllegalArgumentException: No such service 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 除了扩展 JobService.

什么都不做

您需要将权限 android.permission.BIND_JOB_SERVICE 添加到您的 AndroidManifest.xml

...
<service android:name=".TestService"
     android:permission="android.permission.BIND_JOB_SERVICE"
     android:exported="true"/>
...
</application>

我的问题是我的服务被定义为静态内部 class。一旦我将服务 class 移动到它自己的 Java 文件

中,问题就自行解决了

尝试清理项目。这是我的情况。