1

我正在尝试设置 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>
4

1 回答 1

3

JobIntentService,如JobService,只能在应用程序中使用。您不能让其他应用程序与这些服务通信,也没有任何直接PendingIntent选项。

(理论上,您可能可以与JobIntentServiceAndroid 4.4 及更早版本上的其他应用程序交谈,因为我android:permission="android.permission.BIND_JOB_SERVICE"不确定当该权限未定义时将如何处理,但我不会指望它)

对于 IPC,您将需要使用其他东西。因此,例如,如果您希望 aPendingIntent由 a 处理JobIntentService,请创建一个PendingIntent明确Intent指向清单注册接收器的广播,并将其发布到JobIntentService.

于 2018-05-12T22:44:03.473 回答