Как система Android автоматически подключается к сопряженному устройству?

Что я хочу знать:

Мне интересно, как система Android (например, Android-смартфон) автоматически подключается к устройствам, которые были подключены ранее.

НапримерЯ подключаю свою Bluetooth-гарнитуру к своему Android-смартфону в процедуре"turn on scanning/advertising -> click pairing" в день 1. И когда я включаю рекламу на своей гарнитуре, она автоматически подключается в день 2, 3, 4 и так далее. Дело в том, что мне не нужно снова сканировать свой смартфон, чтобы найти мою (сопряженную) гарнитуру.

Я не могу понять, как система Android находит, что сопряженное устройство включено. Система андроида периодически сканирует в фоновом режиме? Даже если я не нажму кнопку «Сканировать»?

Почему я спрашиваю:

Я хочу, чтобы мое приложение автоматически подключалось к настроенному устройству BLE после создания пары. Мне удается соединиться сcreateBond() метод, но после этого я не мог найти, как сделать автоподключение. Я знаю, что могу включить функцию автоподключения таким образом,connectGatt(XXX, true, XXX), но эта функция автоматического подключения не работает, когда устройство BLE отключается через несколько дней.

Поэтому я хочу, чтобы мое приложение работало как система Android и гарнитура Bluetooth. Но я не мог найти, как работает система Android Bluetooth, даже я копаю коды AOSP.

Я нашел много вопросов (Вот а такжеВот) о проблемах вроде моей но ответов не было.

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

Обновить:

я нашел этоbt_btif активируется (со смартфонами LG и Nexus 5) при включении сопряженной гарнитуры (начать рекламу). Ноbt_btif не активируется с моим пользовательским устройством BLE ... Что я могу сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос