Android JobIntentService ADB错误:需要权限android.permission.BIND_JOB_SERVICE

时间:2018-05-12 20:13:33

标签: android adb jobintentservice

我尝试设置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 :(得分:2)

@dataclass class Favs: fav_number: int = 80085 fav_duck: 'typing.Any' = object() fav_word: str = 'potato' JobIntentService一样,只能在应用内使用。您不能让其他应用与这些服务进行对话,也没有任何直接的JobService选项。

(理论上,您可以与Android 4.4及更早版本上的其他应用与PendingIntent对话,因为我不确定在未定义该权限时如何处理JobIntentService,但我不会指望它)

对于IPC,您将需要使用其他东西。因此,例如,如果您希望android:permission="android.permission.BIND_JOB_SERVICE"处理PendingIntent,请创建一个广播JobIntentService,其中明确PendingIntent指向已注册的清单,并且让它将工作发布到Intent