Я пытаюсь подключиться к устройству BLE, используя MAC-адрес.
BluetoothDevice device = bluetoothAdapter.getRemoteDevice(rememberedDeviceAddress)
bluetoothDevice.connectGatt(context, false, bluetoothGattCallback);
Я получаю обратный вызов в BluetoothGattCallback.onConnectionStateChange
с status = 133
и newState = 2
, даже когда мое устройство BLE выключено.
newState = 2 относится к BluetoothProfile.STATE_CONNECTED
, что означает, что я подключен к устройству, а статус = 133 - GATT_ERROR (вместо состояния = 0 УСПЕХ)
Я не получаю ошибку Ошибка регистрации обратного вызова.
Устройство: один плюс один (Android 4.4)
Любые указатели на то, что может вызвать эту проблему, будут полезны.
Примечание. Проблема не возникает на всех устройствах. Все, кажется, отлично работает на Nexus 5 с Android 5.0
Ниже найдите трассировку стека:
03-06 13:00:11.994: D/BluetoothGatt(26771): registerApp()
03-06 13:00:11.994: D/BluetoothGatt(26771): registerApp() - UUID='uuid comes here'
03-06 13:00:12.004: D/BluetoothGatt(26771): onClientRegistered() - status=0 clientIf=5
03-06 13:00:42.004: D/BluetoothGatt(26771): onClientConnectionState() - status=133 clientIf=5 device='device id comes here'