1

我有 2 个 Android 应用程序 - App1App2。我在App1中有一个绑定服务 - ServiceAApp1中的多个服务和活动绑定到ServiceA并在其上调用方法。现在,我想将数据从ServiceA发送到App2中存在的远程服务。我将使用Messenger API 从ServiceA公开活页夹对象以进行进程间通信。

据我了解,App1中依赖于ServiceA的所有活动和服务现在也需要使用API 来访问活页夹。它是否正确?Messenger

如果是,有没有办法只对ServiceA进行更改,以便它可以与远程服务交换数据而不更改其现有客户端?

PS:该服务不需要处理多个并发请求,这是我决定使用MessengerAPI 的主要原因之一。

4

1 回答 1

0

您应该能够同时提供Messenger基于接口和直接接口。我自己没有测试过,但你可以试试这个:

onBind()您收到一个Intent. 这是Intent客户端调用时使用的bindService()。您可以在其中使用 2 个不同的 ACTION(或使用“额外”),Intent以便区分来自 App1 客户端和 App2 客户端的调用。然后只返回Messenger基于的Binder或您当前的实现,具体取决于哪个客户端调用了onBind().

让我知道事情的后续!

于 2020-12-08T07:52:41.903 回答