Ошибка BLE Gatt onConnectionStateChanged со статусом 257 в Android - PullRequest
0 голосов
/ 20 декабря 2018

Я разрабатываю приложения для Android, которые подключаются к нескольким устройствам BLE одновременно, после этого я постоянно читаю символику с этих устройств, но через некоторое время я получаю статус 257 в функции onConnectionStateChanged (),Документация Android не объясняет, в чем причина ошибки или как ее исправить.

public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
            Log.i("TAG","onConnectionStateChange, status : "+status+" parseConnection : "+ GattStatusParse.parseConnection(status)+"  or "+ GattStatusParse.parseConnection(status));
            isConnected = BluetoothProfile.STATE_CONNECTED == newState;
            if (status == BluetoothGatt.GATT_SUCCESS) {
                   if (isConnected) {
                    Log.i(TAG, "GATT connected." + connectedBluethoothDevice.toString());

                    gatt.discoverServices();
              } else {
                     Log.i("TAG"," GATT disconnected " + device.getAddress() + " state of the opération : " + status + " connexion state : " + newState);
                    if (connectedBluethoothDevice.contains(device)) {
                        connectedBluethoothDevice.remove(device);
                    }
             }else{
                if (connectedBluethoothDevice.contains(device)) {                     
                    int mConnectionState = mBluetoothManager.getConnectionState(device, BluetoothProfile.GATT);
                    if(mConnectionState==BluetoothProfile.STATE_DISCONNECTED || mConnectionState==BluetoothProfile.STATE_DISCONNECTING){
                        connectedBluethoothDevice.remove(device);
                    }
                }
            }
    }

Может кто-нибудь поможет мне решить эту проблему, спасибо.

...