【发布时间】:2018-05-12 20:13:33
【问题描述】:
我正在尝试设置 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>
【问题讨论】:
-
我的猜测是
adb shell am缺少该权限。 -
JobServices 似乎需要此权限。 JobIntentServices 是否不打算处理外部广播意图?
-
“JobIntentServices 不打算处理外部广播意图吗?” - 正确的。它们纯粹供应用程序内部使用。如果您需要从外部触发作业,则需要使用其他东西(例如,将
Intent显式广播到清单注册的接收器)。 -
如果您回复上述内容作为答案,我会将其标记为这样,以便您获得信用。
标签: android adb jobintentservice