5

我正在尝试将作业安排到JobIntentService另一个应用程序(2 个不同的进程)。

ComponentName componentName = new ComponentName(context.getPackageName(),
                   "com.anotherapp.service.MyJobIntentService");

JobIntentService.enqueueWork(this,componentName,100,new Intent());

这给出了以下例外。

java.lang.IllegalArgumentException:uid 10000 无法将作业安排到“com.anotherapp.service”

所以问题是,我们是否能够与JobIntentService我们的应用程序外部进行通信?

注意:在应用程序中可以安排工作。

4

3 回答 3

0

只有应用程序本身(或共享 uid 参与者)可以安排运行应用程序服务之一的作业

我认为您可以向目标进程发送广播。当目标进程收到它时,将您想要的内容排入队列。

于 2018-07-13T02:03:52.977 回答
0

您可以使用 Service 或 Receiver 来通信这两个应用程序。

于 2018-01-19T22:59:47.597 回答
0

我可能错了,但我相信为了让应用程序(自动)调用其他应用程序,您在执行所述应用程序时必须具有 root 权限。

因为这是一种相当可疑的行为,甚至您的防病毒软件可能会阻止其执行(如果您在真实手机上运行)我相信在模拟的情况下这应该不是问题。

于 2017-12-14T08:40:26.300 回答