PAHO MQTT Android client for service and MainActivity Binder



我也是MQTT和PAHO MQTT客户端库的新手。我正在寻找使用 android 客户端库的最佳实践。

我有带有后台服务的应用程序,可以在后台向 mqtt 代理发布信息。所以我在后台服务中创建了一个 mqtt 客户端,消息发布工作正常。

但我还需要主活动中的 mqtt 客户端来接收来自 mqtt 代理的不同信息。当我尝试在主活动(在主线程中(中创建客户端时,我收到异常"java.lang.ClassCastException:android.os.BinderProxy 无法转换为..."。我发现了有关该问题的一些信息,我认为该问题出在应用程序中的多个 mqtt 服务中,但我不知道如何在服务和主应用程序之间共享一个 mqtt 客户端实例 - 我不知道它是否是正确的解决方案。

在清单中,我有这个:

...
<service android:name=".MyBackgroundService" android:process=":remote" />
<service android:name="org.eclipse.paho.android.service.MqttService" android:process=":remote" >
...

请问你能帮我找到正确的解决方案吗?

谢谢。

您可以使用 EventBus 通过服务向活动发送消息。

最新更新