https://github.com/fusesource/mqtt-clientAndroid的MQTT客戶端 - 1.5監聽與阿波羅
我有一個Android應用程序開始在那裏我已經開始朝着阿波羅經紀人的MQTT連接的後臺服務。當startService被稱爲IM開始從onStartCommand的MQTT設置主機名,端口的用戶名,密碼等。其次是
connection = mqtt.callbackConnection();
的連接是全成,我可以清楚地看到,我有一個消費者對我的題目是「UNIQUEID」 。
但是,當我發送郵件到我的話題,聽衆永遠卡列斯的onPublish。另一個奇怪的發生難度,如果我失去我對經紀人連接,例如我關閉代理,使得有源連接斷開,當mqtt客戶端重新連接時,似乎它調用了監聽器,並且還調用了onPublish,因爲然後所有我已經堆積在我的持久訂閱者主題上的消息都被傳遞了。我是否缺少關於監聽器的任何內容?
是不是假設積極消費主題,由於connection.subscribe ??
Topic[] topics = { new Topic("uniqueId", QoS.AT_LEAST_ONCE) };
connection.subscribe(topics, new Callback<byte[]>() {
public void onSuccess(byte[] qoses) {
}
public void onFailure(Throwable value) {
value.printStackTrace();
}
});
connection.listener(new Listener() {
@Override
public void onConnected() {
}
@Override
public void onDisconnected() {
}
@Override
public void onFailure(Throwable value) {
}
@Override
public void onPublish(UTF8Buffer topic, Buffer payload, Runnable ack) {
ack.run();
}
});
似乎在activemq和mosquitto上都有效。 –