JobService does not require android.permission.BIND_JOB_SERVICE permission

孤街醉人 提交于 2019-11-29 10:43:25

问题


I am getting does not require android.permission.BIND_JOB_SERVICE permission error while scheduling my JobService and I already have the bind permissions. Below is my code.

JobScheduler jobScheduler = (JobScheduler) getSystemService(JOB_SCHEDULER_SERVICE);
ComponentName componentName = new ComponentName(MainActivity.this,MyJobService.class);
JobInfo.Builder jobInfo = new JobInfo.Builder(101, componentName).setPeriodic(2000);
jobScheduler.schedule(jobInfo.build())

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

Error:

java.lang.IllegalArgumentException: Scheduled service ComponentInfo{services.acadglid.com.acadgildservices/services.com.es.MyJobService} does not require android.permission.BIND_JOB_SERVICE permission


回答1:


To solve this problem:

Scheduled service ComponentInfo{.........} does not require android.permission.BIND_JOB_SERVICE permission

add the permission:

        android:permission="android.permission.BIND_JOB_SERVICE"

but requires the property:

android:exported="..."

android:exported: Whether or not the broadcast receiver can receive messages from sources outside its application — "true" if it can, and "false" if not.

For example:

    <service android:name="com.jorgesys.jobscheduler.MyService"
        android:permission="android.permission.BIND_JOB_SERVICE"
        android:exported="true"/>



回答2:


There's a typo in your Android Manifest.

Just change the following line:

android:permission="android:permission.BIND_JOB_SERVICE"

to

android:permission="android.permission.BIND_JOB_SERVICE"


来源:https://stackoverflow.com/questions/47325618/jobservice-does-not-require-android-permission-bind-job-service-permission

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!