我在我的 android 应用程序上使用 Paho 的 MQTT 客户端作为服务。当我在 API 26 及更高版本上尝试它时,它可以正常工作,但订阅在该版本下不起作用。
mqttClient.subscribe(JOIN_TOPIC, 0).setActionCallback(new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken asyncActionToken) {
Log.d("Client Service", "Subscribe Success");
}
@Override
public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
Log.d("Client Service", "Subscribe Failed");
}
});
我正在使用 genymotion 来测试和 SDK 调试工具。API 26 进入 onSuccess 方法,但 API 25 没有。发布方法在两个客户端上都没有任何问题。
mqttClient = new MqttAndroidClient(getApplicationContext(), serverUri, nickname);
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
mqttToken = mqttClient.connect(options);
连接没有问题。它连接没有问题。我只是想知道为什么 subscribe 在 26 以下的 API 版本上有这个问题。