Почему Eclipse Paho Android MQTT Client возвращает ошибку подписки?

Я не могу подписаться на тему MQTT из моего приложения для Android. Когда я звоню 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

0 ответов

Потратив часы, наконец-то нашел решение. С кодом проблем не было, я только сменил тему на публичный режим на панели управления Adafruit IO, и это сработало. Единственное, чего я не могу понять, это то, почему можно подписаться на приватную тему из библиотеки Arduino, но это не удается в Android.

Другие вопросы по тегам