我无法连接到Android高版本的Mqtt paho客户端。虽然它适用于不到22的api并且能够发布和订阅。
这是我的代码
的build.gradle
repositories {
maven {
url "https://repo.eclipse.org/content/repositories/paho-releases/"
}
dependencies {
compile('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2') {
exclude module: 'support-v4'
}
MainviewActivity
String clientId = MqttClient.generateClientId();
client =
new MqttAndroidClient(this.getApplicationContext(), "url",
clientId);
MqttConnectOptions authen = new MqttConnectOptions();
authen.setKeepAliveInterval(200);
try {
if(client.isConnected()){
Log.e(TAG, "already connected");
}else {
Log.e(TAG, "connecting.........");
token = client.connect(authen);
}
token.setActionCallback(new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken asyncActionToken) {
// We are connected
Log.e(TAG, "onSuccess");
status.setText("Connected");
}
@Override
public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
// Something went wrong e.g. connection timeout or firewall problems
Log.e(TAG, "onFailure");
status.setText("Not Connected");
}
});
} catch (MqttException e) {
Log.e(TAG, "Not Connected");
e.printStackTrace();
}
AndroidManifest.xml中
<service android:name="org.eclipse.paho.android.service.MqttService" >
</service>