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?