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上都有效。 –