我试图创建一个简单的JobScheduler作业,看它是如何工作的。 但是我一直在Runtime上得到这个例外,当我逐步按照指南时,我无法弄明白。
这是我的电话:
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。
答案 0 :(得分:40)
您需要将权限android.permission.BIND_JOB_SERVICE
添加到AndroidManifest.xml
...
<service android:name=".TestService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="true"/>
...
</application>
答案 1 :(得分:2)
尝试清理项目。这是我的理由。
答案 2 :(得分:0)
我的问题是我的服务被定义为静态内部类。一旦我将服务类移动到它自己的Java文件
中,问题就解决了