以下的代码是根据阿里的Android SDK初始化教程编写的,昨天到今天下午为止连接的挺好的,在调试服务功能时突然连接失败了,然后就没成功过了,我用的是4g网。
//初始化连接
void initial() {
DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;// 设备名称
deviceInfo.deviceSecret = deviceSecret;// 设备密钥
/**
* 设置设备当前的初始状态值,属性需要和云端创建的物模型属性一致
* 如果这里什么属性都不填,物模型就没有当前设备相关属性的初始值。
* 用户调用物模型上报接口之后,物模型会有相关数据缓存。
*/
Map<String, ValueWrapper> propertyValues = new HashMap<>();
// 示例
//propertyValues.put("PowerSwitch", new ValueWrapper.BooleanValueWrapper(1));
IoTMqttClientConfig clientConfig = new IoTMqttClientConfig(productKey, deviceName, deviceSecret);
LinkKitInitParams params = new LinkKitInitParams();
params.deviceInfo = deviceInfo;
params.propertyValues = propertyValues;
params.mqttClientConfig = clientConfig;
/**
* 设备初始化建联
* onError 初始化建联失败,需要用户重试初始化。如因网络问题导致初始化失败。
* onInitDone 初始化成功
*/
LinkKit.getInstance().init(this, params, new ILinkKitConnectListener() {
@Override
public void onError(AError error) {
// 初始化失败 error包含初始化错误信息
Log.d(TAG, "error:初始化失败:" + error.getMsg());
}
@Override
public void onInitDone(Object data) {
// 初始化成功 data 作为预留参数
Log.d(TAG, "nice:初始化成功");
}
});
}
打印的error.getMsg()错误日志是mqtt connect fail。请阿里大佬和众多大神解答的通俗易懂点,刚学java,阿里云平台也是刚开始学着用。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。