Я собираюсь запустить сервер GATT на своем мобильном телефоне для передачи некоторых данных ближайшим устройствам. Из официальная документация API для работы с LE Bluetooth был введен в Android 4.3 (18 уровень API).
Я нашел несколько примеров, показывающих, как запустить сервер. Все они используют BluetoothLeРекламодатель, который был добавлен в Android 5.0 (21 уровень API).
Итак, я создал два образца клиент-серверных приложений и легко нашел свой «СЕРВЕРНОЕ УСТРОЙСТВО» в «КЛИЕНТСКОЕ УСТРОЙСТВО», но как я могу добиться этого без BluetoothLeAdvertiser
? Другими словами, как я могу подключиться к BluetoothGattServer и не использовать BluetoothLeAdvertiser
? Для меня это критично, т.к. у моего приложения стоит минСдк=19(Android 4.4).
Спасибо за помощь!
Даже если Bluetooth с низким энергопотреблением доступен в Android API уровня 18, вы не сможете использовать телефон Android в периферийном режиме с уровнем API ниже 21.
Как видно из Примечания к выпуску Android Lolipop:
Android 4.3 introduced platform support for Bluetooth Low Energy (Bluetooth LE) in the central role. In Android 5.0, an Android device can now act as a Bluetooth LE peripheral device.
Кроме того, не все Android-устройства с Lollipop поддерживают периферийный режим. Этот список показывает, какие модели устройств могут передавать как сервер.
Вы можете использовать свое приложение в качестве клиентской части, в файле Страница документации Android Bluetooth Low Energy есть пример кода.
Хороший ответ. Спасибо!