Intereting Posts
Не получить тело ответа для запроса HTTP-сообщения в android? Java.lang.NoSuchMethodError: нет виртуального метода zzait () Ljava / util / ArrayList; В классе Lcom / Error? Как поймать систему трансляции BOOT_COMPLETED, моя программа просто не работает? Android Google плюс кнопка входа в систему не работает Как заменить View Pager полностью на новый фрагмент в Android Как ограничить диапазон предварительного просмотра fps в андроиде для камеры? Android ImageButton с изображением и текстом Я пытаюсь создать динамический счетчик Android-микрофон не работает, когда он используется другим приложением в фоновом режиме Android – Как удалить View в макете (динамический просмотр добавлен) Использование акселерометра, гироскопа и компаса для расчета движения устройства в 3D-мире Android обновляющий адаптер работает после поворота снова устройство Обработка аннотаций с помощью kapt Android Studio Android: Как настроить последнюю версию FFMPEG в студии Android? Анимация слайдов и слайдов для макета

Устройство BLE автоматически отключается от устройства Android. Android BLE

Я использую Android Nexus 7 для подключения устройства по каналу Bluetooth Low Energy. Я могу подключить устройство и оставаться на связи, если не подключаюсь к устройству.

Однако, если я включу уведомление об одном конкретном признаке, нажав кнопку, устройство отключится от планшета через несколько секунд передачи данных.

Кто-нибудь знает, что может быть проблемой? Большое спасибо!

Вот мой код:

public boolean setCharacteristicNotification(boolean enabled){ if (mBluetoothAdapter == null || mBluetoothGatt == null) { Log.w(TAG, "BluetoothAdapter not initialized"); return false; } BluetoothGattService Service = mBluetoothGatt.getService(UUID_MY_SERVICE); if (Service == null) { Log.e(TAG, "service not found!"); return false; } BluetoothGattCharacteristic characteristic = Service.getCharacteristic(UUID_MY_CHARACTERISTIC); final int charaProp = characteristic.getProperties(); if ((charaProp | BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) { mBluetoothGatt.setCharacteristicNotification(characteristic, enabled); BluetoothGattDescriptor descriptor = characteristic.getDescriptor( UUID.fromString(SampleGattAttributes.CLIENT_CHARACTERISTIC_CONFIG)); descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); mBluetoothGatt.writeDescriptor(descriptor); return true; } return false; } 

(Отвечено в вопросе редактирования. Преобразован в ответ на wiki сообщества. См. Что такое подходящее действие, когда ответ на вопрос добавляется к самому вопросу? )

OP писал:

Сегодня я решил эту проблему.

Просто измените descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);

To descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);

Следовать за:

После того, как я провел некоторое исследование и тестирование, я обнаружил, что проблема автоматического отключения связана с помехами между Bluetooth и WIFI на Nexus 7. Если я отключил WIFI, проблема разъединения Bluetooth исчезла. И эта проблема не возникла на Галактике 3,4,5.

Проблема: у меня была такая же проблема с Tesco Hudl 2, если я скоро передам некоторые данные по мере подключения Bluetooth, он отключится.

Решение: Подождите несколько секунд после подключения, похоже, все в порядке.