Android 请求其他应用程序数据

Android 请求其他应用程序数据,android,shared,broadcast,Android,Shared,Broadcast,在不同APK之间建立通信的好方法是什么?一个应用程序可以向其他应用程序发送请求并等待响应 我能想到: 1.使用广播接收器:发送“请求”广播并接收返回的广播(结果)。这似乎是一个很好的干净解决方案,没有安全问题,但如何将所有结果作为“一个”返回-通常我会希望发送广播以收集应用程序标识,并获得类似数组的结果。 2.在所有这些应用程序之间使用sharedUserId,并直接在应用程序上收集或执行我需要的任何内容。但这里有两个更宽松的结局: -如何获取应用程序列表(通过已安装软件包列表?) -使用s

在不同APK之间建立通信的好方法是什么?一个应用程序可以向其他应用程序发送请求并等待响应

我能想到:

1.使用广播接收器:发送“请求”广播并接收返回的广播(结果)。这似乎是一个很好的干净解决方案,没有安全问题,但如何将所有结果作为“一个”返回-通常我会希望发送广播以收集应用程序标识,并获得类似数组的结果。

2.在所有这些应用程序之间使用sharedUserId,并直接在应用程序上收集或执行我需要的任何内容。但这里有两个更宽松的结局:
-如何获取应用程序列表(通过已安装软件包列表?)
-使用sharedUserId和相同签名是否可以访问其他应用程序内部?如注册/注销组件等

谢谢

编辑:
我一直在阅读更多关于有序广播的内容,到目前为止,这似乎是一个好办法。使用订单广播,其他每个应用程序将填写自己的数据部分,结果将返回给提供的“最终”接收器。

我使用的是订单广播。当广播发送出去时,每个接收器添加其信息,最后一个接收器调用resultReceiver