Ответ 1
Это известная проблема - многие пользователи сообщили о проблемах с невозможностью ввода пароля с Android 5.0. Кажется, что это не происходит на всех устройствах.
Другие примеры проблемы:
Мы создаем IOT-устройство с интерфейсом BLE, в котором используется панель прохода HM-11 (http://www.seeedstudio.com/wiki/Bluetooth_V4.0_HM-11_BLE_Module), на которой размещается чип CC2541 (http://www.ti.com/product/CC2541).
Метод аутентификации установлен на 2:Auth with PIN
Клип из листа данных, показывающего доступные режимы аутентификации, выглядит следующим образом:
63. Query/Set Module Bond Mode
Send Receive Parameter
AT+TYPE? OK+Get:[para1] None
AT+TYPE[para1] OK+Set:[para1] Para1: 0~2
0:Not need PIN Code
1:Auth not need PIN
2:Auth with PIN
3:Auth and bond
Default: 0
Для устройств с более низкой версией Android версии 5.0 он работает отлично.
Однако
Для устройств с Android версии 5.0 диалог сопряжения отображается без поля с диафрагмой или пин-вводным полем, и когда нажата кнопка pair
, она не может спариваться - жалуясь на
Не удалось выполнить сопряжение с MyApp из-за неправильного PIN-кода или ключа доступа.
Для устройств с версией Android версии 5.1 он даже не отображает диалог сопряжения и не может соединяться.
Примечания: Проверено перезапуск устройств, забывание устройств, очистка информации о связях с устройства.
Ищите руководство, советы, помощь, комментарии, код.
Это известная проблема - многие пользователи сообщили о проблемах с невозможностью ввода пароля с Android 5.0. Кажется, что это не происходит на всех устройствах.
Другие примеры проблемы:
Bluetooth работает как на аппаратном, так и на программном обеспечении. Поэтому, если ваши устройства не могут говорить на общем языке Bluetooth, они не смогут подключиться.
В целом, Bluetooth совместим с обратной связью: устройства Bluetooth, поддерживающие стандарт Bluetooth 4.2, анонсированный в прошлом году, должны по-прежнему иметь возможность сопрягаться с устройствами, использующими, скажем, древний Bluetooth 2.1, запущенный еще в 2007 году.
Исключениями являются гаджеты, в которых используется низкоэнергетическая версия под названием Bluetooth Smart (или Low Energy), которая работает на другом протоколе, чем более старые, или на классических устройствах Bluetooth. Устройства LE не имеют обратной совместимости и не будут распознавать (или сочетать) старые устройства, поддерживающие классический Bluetooth. (Например, старый телефон Sony Ericsson, поддерживающий Bluetooth 3.0, не сможет подключиться к устройству LE.) Вероятно, это причина ваших проблем, поскольку у Android 5 есть проблемы с BLE, и если ваше устройство классическое Bluetooth, это не сработает. Я предлагаю вам проверить совместимость устройства, и если это будет хорошо, я вернусь к нормальному Bluetooth, пока вы не решите проблему.
Надеюсь, что это поможет.
Ti cc254x Stack имеет известную ошибку с прямой совместимостью, что делает невозможным соединение с устройствами, поддерживающими функции безопасности BLE 4.2 (обмен LinkKey). Осенью прошлого года эта функция интегрирована в Bluedroid, станет основной для Android 6 и, возможно, уже была объединена некоторыми вендорами. Ошибка была исправлена в пакете Ti cc254x Stack release 1.4.1, но у вашей прошивки вашего модуля может еще не хватить исправление.