Если я правильно понимаю ваш вопрос, вы подписаны на тему 'sTopic', но не получаете сообщений, когда кто-то публикует сообщение в теме 'sTopic'.
Вы уверены, что клиент Mqtt подключенуспешно брокеру?Сделайте, чтобы клиент mqtt был подключен перед совершением звонка по подписке.
if( mqttClient.isConnected()) {
mqttClient.subscribe(sTopic);
}
и то же самое относится и к публикации.
if( mqttClient.isConnected()) {
mqttClient.publish(sTopic,message);
}
Однажды, если эти вызовы будут выполнены, вы должны увидеть опубликованные сообщения в методе обратного вызова messageArrived.
Необходимо установить для метода обратного вызова mqttClient
clientCallback = new MqttCallback() {
@Override
public void connectionLost(Throwable cause) {
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
}
};
mqttClient.setCallback(clientCallback);