Запрос на двойное сопряжение с Android. Получите два обратных вызова sspRequestCallback

#android #bluetooth-lowenergy #pairing #nrf52

Вопрос:

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

  • Я проверил и обнаружил, что мое устройство BLE отправляет только один запрос на сопряжение, что и происходит
  • Когда я заглядываю в файл журнала смартфона, который неправильно подключается, и вижу, что мы получаем два вызова sspRequestCallback (см. Ниже), а также тип сопряжения изменен на тип 3. Это может быть причиной ошибки, но я не смог найти никакой документации по sspRequestCallback в Интернете.

Что может быть причиной того, что мы получаем два запроса на сопряжение с некоторыми телефонами Android? Пытаются ли они дважды согласовать параметры подключения?

Журналы с телефонов Android на картинках: изображение журналов

Журналы с контроллера nRF: изображение журналов

Комментарии:

1. Я также видел это с некоторыми периферийными устройствами. Похоже, это происходит на телефонах Pixel, но не на телефонах Samsung. Я думаю, что это ошибка в Android

2. Я думаю, что эта ошибка появляется при использовании метода сопряжения «Просто работает». Вместо диалога с запросом ПИН-кода или сравнения мы просто получаем «пустой» диалог сопряжения. Поэтому, вероятно, это выбор дизайна Android или ошибка. (Как ни странно, также с моим телефоном samsung я получаю ошибку). Вы знаете, на каком форуме Android я мог бы задать этот вопрос?