从 Android AIDL 向多个客户端发送数据

Send data from Android AIDL to multiple clients

我有一个 Android 带串口的设备。 我需要能够同时 运行 多个应用程序,并且所有应用程序都应该能够从串行端口发送和接收数据。 由于串口只能有一个连接,我想我应该使用一个可以直接与串口通信的应用程序。 此应用程序将具有 AIDL 接口,以允许其他应用程序从它发送和接收数据。 我可以成功地将数据从其他应用程序发送到 AIDL。 我的问题是,如何将数据从 AIDL 服务发送到其他应用程序。

我看到一些使用回调的示例,(例如 http://devarea.com/android-services-and-aidl/#.WydoR6czaUk)。

在我的例子中,我需要 AIDL 服务能够将数据发送到所有连接的客户端应用程序,而无需他们的请求。

我知道我可以为此使用自定义广播,但是每秒从串口传来大量数据,这可能会导致性能问题。

您可以使用广播通知其他应用程序(或使用 startService() 通知其他应用程序的服务)。您可以将数据收集到包中并传输它们。