Job Scheduler 找不到 job/service?

Job Scheduler cant find job/service?

我的应用程序需要定期执行某些操作,因此我正在尝试 Android API 中介绍的 Job Scheduler 21。目前我只是开始了解它并尝试基础知识。不幸的是我得到一个错误:

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

我知道这个问题已经通过向 Manifest 添加权限解决了,但不是我。还有什么可能导致这种情况?

这是我猜想出错的代码部分:

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>

让我感到困惑的一件事是我无法在设备设置中手动向应用程序手动授予工作许可(我这样做是为了获得存储许可)。如果该应用程序需要获得安排作业的权限,我不应该在设置中授予权限吗?

我真的希望有人能解决这个问题。

谢谢。

确保将服务元素放在应用程序元素中,而不是其他地方。我做的时候效果很好。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 添加到清单中的用户权限。它为我做到了。