JobService不需要android.permission.BIND_JOB_SERVICE权限

Akh*_*ani 30 android jobservice

does not require android.permission.BIND_JOB_SERVICE permission在调度时遇到错误JobService,我已经拥有绑定权限.以下是我的代码.

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"/>
Run Code Online (Sandbox Code Playgroud)

错误:

java.lang.IllegalArgumentException:计划服务ComponentInfo {services.acadglid.com.acadgildservices/services.com.es.MyJobService}不需要android.permission.BIND_JOB_SERVICE权限

Jor*_*sys 45

要解决这个问题:

预定服务ComponentInfo {.........}不需要android.permission.BIND_JOB_SERVICE权限

添加权限:

        android:permission="android.permission.BIND_JOB_SERVICE"
Run Code Online (Sandbox Code Playgroud)

但要求财产:

android:exported="..."
Run Code Online (Sandbox Code Playgroud)

android:exported:广播接收者是否可以从其应用程序之外的来源接收消息 - 如果可以,则为"true",否则为"false".

例如:

    <service android:name="com.jorgesys.jobscheduler.MyService"
        android:permission="android.permission.BIND_JOB_SERVICE"
        android:exported="true"/>
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说很漂亮!我将以下服务添加到我的AndroidManifest.xml文件中:``&lt;service android:name =“。service.BluetoothService” android:permission =“ android.permission.BIND_JOB_SERVICE” android:exported =“ true” /&gt;“ (4认同)

小智 7

您的Android Manifest.

只需更改以下行:

android:permission="android:permission.BIND_JOB_SERVICE"
                           ^
                           |
                    This " : " is WRONG!
Run Code Online (Sandbox Code Playgroud)

android:permission="android.permission.BIND_JOB_SERVICE"
Run Code Online (Sandbox Code Playgroud)

所以只需将:(冒号)更改为.(点)。