为什么Eclipse Paho Android MQTT客户端返回订阅失败?

时间:2019-02-28 23:12:45

标签: android mqtt iot adafruit

我无法从我的Android应用程序订阅MQTT主题。 当我调用SubscribeToTopic函数时,出现以下错误

  

“用户名/订阅源/主题订阅失败:不可用”

这是要订阅的代码

    private void SubscribeToTopic(String TopicName, int Qos) {
    try {
        if (client.isConnected()) {
            client.subscribe(TopicName, Qos, null, new IMqttActionListener() {
                @Override
                public void onSuccess(IMqttToken asyncActionToken) {
                    Log.d("Subscribtion", "Succeed");
                }

                @Override
                public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
                    Log.d("Subscribtion", "Failed", exception);
                }
            });
        }
    }
    catch (MqttException exception)
    {
        Log.d("Subscribtion","Failed",exception);
    }
}

注意::我使用Eclipse Paho作为我的MQTT客户端,使用Adafruit IO作为代理。 TopicName类似于UserName/feeds/Topic,Qos是0

1 个答案:

答案 0 :(得分:0)

花了几个小时终于找到了解决方案。代码没有问题,我只在Adafruit IO仪表板中将主题更改为公共模式即可。我唯一不明白的是为什么可以从Arduino库订阅私有主题,但在android中失败。