Проблема с подпиской на уведомления BLE в Release-сборке на Oppo Reno 5

    Для тестирования используется устройство Oppo Reno 5 под управлением Android 13. Приложение подключается к смарт-часам по BLE: устанавливает соединение, подписывается на уведомления и отправляет команды. При сборке приложения в режиме Debug всё работает корректно, однако в режиме Release уведомления с часов не приходят.

    Код подписки на уведомления

    Подписка выполняется следующим образом:

    • Вызов this.BLEService.startNotification для двух характеристик (UUID_C_1 и UUID_C_3) с использованием соответствующих UUID сервиса.
    • В обоих режимах (Debug и Release) ошибки при подписке не возникают.

    Обработка событий

    Устанавливается слушатель событий:

    this.bleManagerEmitter.addListener('BleManagerDidUpdateValueForCharacteristic', ...)

    В Debug-режиме все события приходят корректно. В Release-режиме события отсутствуют.

    Конфигурация AndroidManifest

    В файле манифеста прописаны все необходимые разрешения:

    • BLUETOOTH
    • BLUETOOTH_ADMIN
    • ACCESS_FINE_LOCATION (для SDK 23+)
    • ACCESS_COARSE_LOCATION
    • BLUETOOTH_CONNECT
    • BLUETOOTH_SCAN
    • ACCESS_BACKGROUND_LOCATION (для SDK 23+)
    • BLUETOOTH_ADVERTISE
    • Также указана аппаратная функция bluetooth_le как обязательная.

    Запрос разрешений

    При инициализации приложения запрашиваются разрешения на ACCESS_FINE_LOCATION, BLUETOOTH_SCAN и BLUETOOTH_CONNECT в соответствии с официальной документацией.

    Дополнительные наблюдения

    На других смартфонах, отличных от Oppo, Release-сборка работает корректно. Проблема воспроизводится только на устройствах Oppo.