几次尝试后,BLE onConnectionStateChange回调获得STATE_DISCONNECTED

时间:2017-10-23 14:03:48

标签: android bluetooth-lowenergy android-bluetooth altbeacon gatt

我的问题

经过几次尝试后GATT服务断线我不知道原因。我发现 onConnectionStateChange 我的状态为 62 133 。但我不知道解决问题的确切原因或解决方案。

连接代码:

 public boolean connectDevice(final BluetoothDevice device) {

    try {
        broadcastUpdate(MyUtils.ACTION_GATT_REQUEST,"Before connect called " + mContext);
        if (mContext != null) {

            mBluetoothGatt = device.connectGatt(mContext, false,
                    mGattCallback);

            setmBluetoothGatt(mBluetoothGatt);
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

    return true;
}

回拨

 @Override
    public void onConnectionStateChange(BluetoothGatt gatt, int status,
                                        int newState) {
        super.onConnectionStateChange(gatt, status, newState);

        String intentAction;
        Log.e(TAG, "onConnectionStateChange: status=>"+status+" newState=>"+newState);
        if (newState == BluetoothProfile.STATE_CONNECTED) {


        } else if (newState == BluetoothProfile.STATE_DISCONNECTED) {

         }
}

1 个答案:

答案 0 :(得分:0)

62 = 0x3E表示“无法建立连接错误代码表示LL已启动连接,但连接未能建立。”

这意味着主设备尝试向设备发送6个数据包,但它从未对任何设备做出响应。您的Android代码可能没有任何问题。您应该检查无线电干扰,时钟漂移等。您可以使用BLE空气嗅探器来查看实际发生的情况。