解决方案 »

  1.   

    补充:调用 discoverServices:这个方法,没有任何的回调,服务和特征值都没有回调了。 有时候也出现在设置上关蓝牙关不掉,这个时候手机是必须重启才可以再连接了。
      

  2.   

    我也出现过在调用这个方法后,能进回调,但是会报status 129(GATT内部错误)
      

  3.   

    链接时会出现配对提示框当选择配对会回调onConnectionStateChange链接成功并开始发现服务,但30秒后会出现onServicesDiscovered received: 129,然后再次出现配对提示框,一直都连不上,除非重启蓝牙设置,才能重新链接设备
      

  4.   

    补充:点击配对按钮时会进入链接成功回调方法
    @Override
            public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
                String intentAction;
                if (newState == BluetoothProfile.STATE_CONNECTED) {
                    intentAction = ACTION_GATT_CONNECTED;
                    mConnectionState = STATE_CONNECTED;
                    broadcastUpdate(intentAction);
                    Log.i(TAG, "Connected to GATT server.");
                    // Attempts to discover services after successful connection.
                    Log.i(TAG, "Attempting to start service discovery:" +
                            mBluetoothGatt.discoverServices());            } else if (newState == BluetoothProfile.STATE_DISCONNECTED) {
                    intentAction = ACTION_GATT_DISCONNECTED;
                    mConnectionState = STATE_DISCONNECTED;
                    Log.i(TAG, "Disconnected from GATT server.");
                    broadcastUpdate(intentAction);
                }
            }
    30秒后会回调发现服务,特征回调方法 返回状态为129
    @Override
            public void onServicesDiscovered(BluetoothGatt gatt, int status)
            {
                if (status == BluetoothGatt.GATT_SUCCESS)
                {
                    broadcastUpdate(ACTION_GATT_SERVICES_DISCOVERED);
                }
                else
                {
                    Log.w(TAG, "onServicesDiscovered received: " + status);
                }
            }
      

  5.   

    我一旦调用了discoverServices,立马就返回129,不用30秒
    我用Nexus 4/Note 2(CM10.2)
    看来是Android 4.3的蓝芽堆栈问题。
      

  6.   

    129就是没发现服务,这步没完成 下面的当然也。。
    额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!
      

  7.   

    129就是没发现服务,这步没完成 下面的当然也。。
    额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!
    了解,我之前一个项目是用nexus 4测试的,后来换了小米2S 刷的4.3,问题解决了。当时初步定位到是设备的问题,现在在做的这个项目  问题又出现了  129.也是很困惑,有问题多交流下吧
      

  8.   

    我也遇到一样的问题,还没有找到问题的原因所在。最近在翻ANDROID的代码,还没有啥收获
      

  9.   

    我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:
    在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你
    if(mBluetoothLeService.disconStatus==129){
                     mBluetoothLeService.close();
                     Log.d(TAG,"----129----");
                     mBluetoothAdapter.disable();
                     try {
    Thread.sleep(2500);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
                     mBluetoothAdapter.enable();
                    }
      

  10.   


    我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:
    在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你
    if(mBluetoothLeService.disconStatus==129){
                     mBluetoothLeService.close();
                     Log.d(TAG,"----129----");
                     mBluetoothAdapter.disable();
                     try {
    Thread.sleep(2500);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
                     mBluetoothAdapter.enable();
                    }
      

  11.   

    为什么我查找不到设备,不管是nexus4查找galaxy nexus还是galaxy nexus查找nexus都是找不到的,用的蓝牙4.0的查找方法
      

  12.   

    129就是没发现服务,这步没完成 下面的当然也。。
    额,当调用mBluetoothGatt = device.connectGatt(this, false, mGattCallback);会出现提示框不是自己加的,我现在问题是链接不稳定,有时候能连上,但有时候出现129就一直连不上,我想问怎样解决129链接问题,多谢!
    了解,我之前一个项目是用nexus 4测试的,后来换了小米2S 刷的4.3,问题解决了。当时初步定位到是设备的问题,现在在做的这个项目  问题又出现了  129.也是很困惑,有问题多交流下吧刷机就解决了???我的是4.4.2版本。
      

  13.   

    大神们遇到过这样的问题吗?
    手机和设备连接,连接有个过程。需要等2到4秒这时候断开蓝牙,再用手机连接设备。会出现所有手机连不上设备(android  4.4.0以下版本)。
      

  14.   


    我的解决方案是当出现129的时候我通过代码将蓝牙重启来避免这个问题,代码如下:
    在BluetoothLeService中用于一个静态变量disconStatus来记录返回连接断开状态吗,然后在mGattUpdateReceiver中对else if (BluetoothLeService.ACTION_GATT_DISCONNECTED.equals(action))进行处理,希望能帮到你
    if(mBluetoothLeService.disconStatus==129){
                     mBluetoothLeService.close();
                     Log.d(TAG,"----129----");
                     mBluetoothAdapter.disable();
                     try {
    Thread.sleep(2500);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
                     mBluetoothAdapter.enable();
                    }哪里来的BluetoothLeService.ACTION_GATT_DISCONNECTED这个广播?
      

  15.   

    我现在调用 device.connectGatt(this, false, mGattCallback)  都没提示配对。。