Bluetooth: нет обратного вызова после регистрации клиента в BluetoothGatt - PullRequest
0 голосов
/ 02 апреля 2020

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

Поскольку доступно обновление до Android 10, у меня возникли некоторые проблемы с Bluetooth. В обычных случаях Bluetooth работает нормально; Сканирование, подключение, отключение, повторное подключение и т. Д. c. Некоторые клиенты звонили мне, что приложение android не может повторно подключиться к продукту. Я несколько раз пытался воспроизвести проблему, но не смог.

Решение, которое я дал своим клиентам:

  1. Удаление всего кэша и данных из Settings-> Apps -> приложения и удаление приложения
  2. Перезагрузка телефона
  3. Переустановите приложение.

После этих шагов приложение может снова подключиться к продукту.

После отладки я нашел способ воспроизвести проблему: при подключении к продукт, принудительная остановка Bluetooth в Settings->System apps.

После того, как это будет сделано, попытка переподключения к продукту приведет к созданию гатта, но обратного вызова к OnConnectionStateChange не будет.

LogCat:

2020-04-02 12:36:50.465 D/BluetoothAdapter: STATE_ON
2020-04-02 12:36:50.468 D/BluetoothGatt: connect() - device: xx:xx:xx:xx:xx:xx, auto: true
2020-04-02 12:36:50.468 D/BluetoothAdapter: isSecureModeEnabled
2020-04-02 12:36:50.469 D/BluetoothGatt: registerApp()
2020-04-02 12:36:50.469 D/BluetoothGatt: registerApp() - UUID=xxxxxxxxxxxxxxxxx
2020-04-02 12:36:50.473 D/Device: Created new Gatt: xx:xx:xx:xx:xx:xx
2020-04-02 12:36:50.474 D/BluetoothGatt: onClientRegistered() - status=0 clientIf=8

Кто-нибудь сталкивался с такой же проблемой или есть какие-то решения для этого? Я перепробовал все виды вопросов, обсуждаемых на этом сайте, и на данный момент у меня нет идей, что еще попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...