Wie stellt das Android-System automatisch eine Verbindung zu einem gekoppelten Gerät her?

Was ich wissen will

Ich frage mich, wie sich das Android-System (wie das Android-Smartphone) automatisch mit Geräten verbindet, die zuvor gekoppelt wurden.

Beispielsweis, Ich kopple mein Bluetooth-Headset mit meinem Android-Smartphone in der Prozedur von"turn on scanning/advertising -> click pairing" an Tag 1. Wenn ich Werbung auf meinem Headset einschalte, wird die Verbindung automatisch an Tag 2, 3, 4 usw. hergestellt. Der Punkt ist, dass ich mein Smartphone nicht erneut scannen muss, um mein (gekoppeltes) Headset zu finden.

Ich kann nicht verstehen, wie das Android-System feststellt, dass das gekoppelte Gerät eingeschaltet ist. Überprüft das Android-System regelmäßig im Hintergrund? Auch wenn ich nicht auf "Scannen" klicke?

Warum frage ich:

Ich möchte, dass meine App nach dem Pairing automatisch eine Verbindung zum benutzerdefinierten BLE-Gerät herstellt. Es gelingt mir, ein Pairing (Bonden) mit @ durchzuführecreateBond() -Methode, aber danach konnte ich nicht finden, wie die automatische Verbindung hergestellt werden kann. Ich weiß, dass ich die Autoconnect-Funktion auf diese Weise aktivieren kann.connectGatt(XXX, true, XXX), aber diese Autoconnect-Funktion funktioniert nicht, wenn das BLE-Gerät einige Tage nicht angeschlossen ist.

Ich möchte, dass meine App wie ein Android-System und ein Bluetooth-Headset funktioniert. Aber ich konnte nicht finden, wie Android Bluetooth-System funktioniert, auch wenn ich AOSP-Codes grabe.

Ich habe viele Fragen gefunden Hie undHie) über Probleme wie meine, aber es gab keine Antworten.

Danke im Voraus

Aktualisieren

Ich habe das gefundenbt_btif wird aktiviert (mit LG Smartphone und Nexus 5), wenn das gekoppelte Headset eingeschaltet wird (Werbung starten). Aberbt_btif wird mit meinem benutzerdefinierten BLE-Gerät nicht aktiviert ... Was kann ich tun?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage