Ошибка Android ADB JobIntentService: требуется разрешение android.permission.BIND_JOB_SERVICE - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь настроить JobIntentService и проверить его с помощью adb.

Когда я использую эту команду:

adb shell am startservice -a "com.example.package.action.DO_THING"

Выдает ошибку:

Error: Requires permission android.permission.BIND_JOB_SERVICE

Мой AndroidManifest.xml имеет следующую запись:

<service
    android:name=".services.intents.IntentHandlerService"
    android:permission="android.permission.BIND_JOB_SERVICE"
    android:exported="true">
    <intent-filter>
         <action android:name="com.example.package.action.DO_THING"/>
    </intent-filter>
</service>

1 Ответ

0 голосов
/ 13 мая 2018

JobIntentService, как и JobService, можно использовать только из приложения.Вы не можете использовать другое приложение для связи с этими службами, равно как и нет прямой опции PendingIntent.

(теоретически, вы можете разговаривать с JobIntentService из других приложений на Android 4.4 истарше, так как я не уверен, как будет обрабатываться android:permission="android.permission.BIND_JOB_SERVICE", когда это разрешение не определено, но я бы на это не рассчитывал)

Для IPC вам нужно будет использовать что-то еще.Так, например, если вы хотите, чтобы PendingIntent обрабатывался JobIntentService, создайте широковещательную рассылку PendingIntent с явным Intent, указывающим на зарегистрированного получателем манифеста, и попросите его отправить работу на JobIntentService.

...