以下是我的代码:在android应用启动时会执行下面Subscribe 类的doTest方法Subscribe 类:public class Subscribe { public static String doTest(Handler handler) { try {  ...
显示全部以下是我的代码:
在android应用启动时会执行下面Subscribe 类的doTest方法
Subscribe 类:
public class Subscribe {
public static String doTest(Handler handler) {
try {
MqttClient client = new MqttClient("tcp://192.168.0.63:1883",
"PlainText", null);
CallBack callback = new CallBack("PlainText", handler);
client.setCallback(callback);
MqttConnectOptions conOptions = new MqttConnectOptions();
conOptions.setCleanSession(false);
client.connect(conOptions);
client.subscribe("testTopic", 1);
//Thread.sleep(10000);
client.disconnect();
} catch (Exception e) {
e.printStackTrace();
return "failed";
}
return "success";
}
}
CallBack类:
public class CallBack implements MqttCallback {
private String instanceData = "";
private Handler handler;
public CallBack(String instance, Handler handler) {
instanceData = instance;
this.handler = handler;
}
public void messageArrived(MqttTopic topic, MqttMessage message) {
try {
Message msg = Message.obtain();
Bundle bundle = new Bundle();
bundle.putString("content", message.toString());
msg.setData(bundle);
handler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
}
}
public void connectionLost(Throwable cause) {
System.out.println("123");
System.out.println("456");
}
public void deliveryComplete(MqttDeliveryToken token) {
System.out.println("789");
System.out.println("110");
}
收起