1

У меня проблема с получением дескриптора признака, он всегда возвращает null. Существует chunck моего кода:Bluetooth Low Energy: gattCharacteristic.getDescriptor() возвращает null

public static final String CHARACTERISTIC_UPDATE_NOTIFICATION_DESCRIPTOR_UUID = "00000001-0000-1000-8000-00805f9b34fb"; 
public final static UUID tmp_uuid_1 = UUID.fromString(CHARACTERISTIC_UPDATE_NOTIFICATION_DESCRIPTOR_UUID); 

...

BluetoothGattDescriptor descriptor = gattCharacteristic.getDescriptor(tmp_uuid_1); 
descriptor.setValue(true ? BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE : new byte[]{0x00, 0x00}); 

Я попробовал это на Nexus 6 с Android 5.1 и Nokia X2 DS с OS 2.0, как Android 4.3, и имеют аналогичный ошибка.

В ожидании ответов) Благодарим за внимание!

ответ

3

Указать идентификатор уведомления «00002902-0000-1000-8000-00805f9b34fb» вместо «00000001-0000-1000-8000-00805f9b34fb» в вашем коде.

+1

Большое спасибо) Это работает! –

+0

Я приехал сюда, потому что 'getDescriptor' возвращает' null'. Тем не менее, я уже использую правильный UUID :( –

+0

@ me-- Пожалуйста, задайте это как отдельный вопрос. Трудно обсуждать это в комментариях. – reTs