mijiaSDK
mijiaSDK copied to clipboard
蓝牙连接超时
有些设备在进行蓝牙连接时候回调中会报-7?如何避免这种超时状态呢?
具体是调用哪一个接口返回-7?建议也提供下Log。
采用此接口: XmBluetoothManager mXmBluetoothManager = XmBluetoothManager.getInstance(); int state = mXmBluetoothManager.getConnectStatus(mDeviceMac); if (state == XmBluetoothManager.STATE_CONNECTED || state == XmBluetoothManager.STATE_CONNECTING) { } else { Log.e("tywei", "这里进行安全连接开始"); mXmBluetoothManager.secureConnect(mDeviceMac, connectResp); }
先在public static final String ACTION_CONNECT_STATUS_CHANGED = "com.xiaomi.smarthome.bluetooth.connect_status_changed";回调中,输出有连接成功,并且设备也有连接成功的符号了。
过一会,又在这个回调中报-7 private Response.BleConnectResponse connectResp = new Response.BleConnectResponse() { @Override public void onResponse(int code, Bundle data) { if (code == XmBluetoothManager.Code.REQUEST_SUCCESS) {//0 Log.e("tywei", "安全连接成功" + code); enableNotify(); } else { EventBus.getDefault().post(new BuleConnectStatus(false)); Log.e("tywei", "没有发现设备" + code);//报错点 mHandler.postDelayed(notFindDevice, 0); } } }; 01-29 18:04:50.418 14503-14503/com.xiaomi.smarthome:plugin0 E/tywei: 蓝牙连接建立了 01-29 18:05:05.708 14503-14503/com.xiaomi.smarthome:plugin0 E/tywei: 能否看到蓝牙连接的状态false 01-29 18:05:05.711 14503-14503/com.xiaomi.smarthome:plugin0 E/tywei: 没有发现设备-7
如何提供log?
-7表示连接超时了。APP和设备建立连接后设备需要收到设备返回的加密token才行。