global mqtt对象:android

时间:2018-01-31 05:46:31

标签: android android-studio mqtt

我正在开发一个Android应用程序(在android studio上),我已成功为单个活动实现了paho mqtt库。我现在遇到的问题是我需要在多个活动中持久保存mqtt客户端。

我是否需要为每个活动创建一个新客户端(再次订阅所需主题)并通过意图传递旧客户端的修改数据以更新新客户端? [这似乎是一个非常糟糕的方法,我假设有一个更简单直接的解决方案,我错过了]

1 个答案:

答案 0 :(得分:0)

在您的paho mqtt课程中,您可以向您的活动发送广播消息。我在这里如何使用;

@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
    Log.d("MQTT MESSAGE", "Message arrived: Topic: " + topic + "  Message: " + message);
    broadcastSendAction("mqttMessage", "Topic: " + topic + "  Message: " + message);

}


@Override
public void connectComplete(boolean b, String s) {
    Log.d("MQTT MESSAGE", "Connection SUCCESS.");
    mqttStatus = true;
    broadcastSendAction("mqttConnection", true);
    if (!mqttSubs)
        subscribeTopic(mSharedPreferences.getString(getResources().getString(R.string.regId), SepMessageUtils.DEFAULT_REGID), client);
}