Android MQTT 客户端订阅在 API 级别 26 下不工作
Android MQTT Client Subscription is not working under API level 26
我在 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 没有。 Publish 方法在两个客户端上都没有任何问题。
mqttClient = new MqttAndroidClient(getApplicationContext(), serverUri, nickname);
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
mqttToken = mqttClient.connect(options);
连接没有问题。它连接没有问题。我只想知道为什么 subscribe 在 API 26.
版本上有这个问题
好的,我找到问题了。我正在使用 moquette 代理,代理在 java 版本 8 和 API 级别 25 下以某种方式使用 java 6 时出现问题。 paho的mqtt客户端没有问题。
感谢大家
我在 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 没有。 Publish 方法在两个客户端上都没有任何问题。
mqttClient = new MqttAndroidClient(getApplicationContext(), serverUri, nickname);
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
mqttToken = mqttClient.connect(options);
连接没有问题。它连接没有问题。我只想知道为什么 subscribe 在 API 26.
版本上有这个问题好的,我找到问题了。我正在使用 moquette 代理,代理在 java 版本 8 和 API 级别 25 下以某种方式使用 java 6 时出现问题。 paho的mqtt客户端没有问题。 感谢大家