Intereting Posts
Как обнаружить отсутствие камеры в устройстве Android? А также, если устройство имеет переднюю камеру, как ее использовать? Анализ ASP.NET MVC с датой использования библиотеки Jackson JSON в Java Не удалось разрешить: com.google.firebase: firebase-storage-common: 11.0.1 Каково использование образа системы ARM EABI v7a в андроиде? Нажатие панели инструментов на панели состояния Как увеличить уровень громкости микрофона в Android PJSIP? Как я могу очистить значение TextView? 1 Keystore для подписывания всех приложений или 1 на приложение? Авария Firebase на Android во время анонимного входа Получить значение видимого объекта в центре Infinite RecyclerView WearableListenerService, onDataChanged () не вызывается Есть ли способ связаться со всеми приложениями разработчика Google Play Store? Обновление зависимостей Gradle Джексон разбор JSON, содержащий массив объектов и массив карт с динамическими клавишами Как реализовать кнопку Android ActionBar назад?

Android: Можно ли автоматически подключаться к устройству Bluetooth LE, когда оно входит в диапазон, и начинает рекламу?

Я ищу способ автоматического подключения Android-устройства к Bluetooth LE (4.0 Smart), когда он входит в диапазон (и начинает рекламу). Я ожидаю, что он будет работать как наушники Bluetooth – при включении они автоматически подключатся к парному телефону (если он находится в диапазоне).

Я думал о запуске службы в фоновом режиме, которая будет периодически (каждые 50-100 мс) проверять рекламу. Однако одной из основных проблем является время автономной работы устройства Android.

Может кто-нибудь угодить советам, что было бы лучшим способом реализовать такую ​​функциональность на Android 4.3 и выше?

Заранее спасибо!

Вы можете зарегистрировать широковещательный приемник для приема широковещательных сообщений при обнаружении устройства Bluetooth. См. Раздел руководства по API Bluetooth для получения более подробной информации и примера кода.

Также посмотрите на тему Bluetooth Low Energy .

Наконец, взгляните на эту тему , которая в основном представляет собой тот же вопрос.

Установите параметр autoConnect в connectGatt () в true. (Второй параметр)

Собственно, это работает только для стандартного Bluetooth. Для Bluetooth интеллектуальные ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED трансляции не работают.

Для BLE вы должны работать с API и обратными вызовами в mBluetoothAdapter.startLeScan(mLeScanCallback); Как только устройство будет найдено.