2015-03-06 12 views
11

Próbuję połączyć się z urządzeniem BLE, używając adresu MAC.Android BLE GATT_ERROR (133) po podłączeniu do urządzenia

BluetoothDevice device = bluetoothAdapter.getRemoteDevice(rememberedDeviceAddress) 
bluetoothDevice.connectGatt(context, false, bluetoothGattCallback); 

dostaję zwrotnego w BluetoothGattCallback.onConnectionStateChange z status = 133 i newState = 2nawet gdy urządzenie BLE jest wyłączony.

newState = 2 odnosi się do BluetoothProfile.STATE_CONNECTED co oznacza, że ​​jestem podłączony do urządzenia i statusu = 133 jest GATT_ERROR (zamiast status = 0 sukces)

nie dostać udało się zarejestrować zwrotnego błąd .

urządzenia: jeden plus jeden (Android 4.4)

Wszelkie wskazówki na temat tego, co może być przyczyną tego problemu byłoby pomocne.

Uwaga: problem nie występuje na wszystkich urządzeniach. Wszystko wydaje się działać poprawnie na Nexusa 5 z Androidem 5.0

Poniżej znajduje ślad stosu:

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' 
+1

Zobacz odpowiedzi na to pytanie: http://stackoverflow.com/questions/27280402/every-connection-request-is-being-treated-as-direct-connect-request-android -bl – PaulT

+0

Czy możesz to zrozumieć? Mam ten sam problem. – Borzh

Odpowiedz

3

Niektóre urządzenia wymagają interakcji Bluetooth LE być uruchamiane na wątków UI. Polecam wypróbować coś takiego:

// Create handler for main thread where mContext is application context 
mHandler = new Handler(mContext.getMainLooper()); 
... 
// Connect to BLE device from mHandler 
mHandler.post(new Runnable() { 
@Override 
public void run() { 
    mBTGatt = mBTDevice.connectGatt(mContext, false, mGattCallback); 
} 
}); 

Oczywiście można również użyć Activity.runOnUiThread. Źródło: https://stackoverflow.com/a/23478737

Powiązane problemy