2017-02-19 37 views
0

我的应用程序需要定期执行某些操作,所以我正在尝试在Android API 21中引入Job Scheduler。此时我只是了解它并尝试一些基本知识。不幸的是,我得到一个错误:Job Scheduler不能找到工作/服务?

Java.lang.illegalArgumentException: No such service ComponentInfo{The whole path here to the service class name TestJobService}

我明白这已经解决了一些通过增加清单,但不是我的权限。还有什么可以导致这一点?

这是我想它出了问题我的代码部分:

Toast.makeText(getApplicationContext(), "Exec reaches here...",Toast.LENGTH_SHORT).show(); 
JobInfo.Builder builder = new JobInfo.Builder(1, new ComponentName(getPackageName(),TestJobService.class.getName())); 
    //runs job service after every 10 seconds 
    builder.setPeriodic(10000); 
    jobScheduler.schedule(builder.build()); 

我在清单有这样的:

,混淆我
<service 
    android:name=".TestJobService" 
    android:permission="android.permission.BIND_JOB_SERVICE" 
    android:exported="true" > 
</service> 

一件事是,我不能手动给求职在设备设置中手动授予应用程序权限(我这样做是为了获得存储权限)。如果应用程序需要调度作业权限,我不应该在设置中授予权限吗?

我真的希望有人有这个解决方案。

谢谢。

回答

1

确保你把你的服务元素放在应用程序元素中,而不是其他地方。当我做到了,它工作得很好。