Ich kann die gepaarten Bluetooth
-Geräte aufzählen, und ich muss ihren aktuellen Verbindungsstatus beim App-Start überprüfen.
Aber ich habe keine Möglichkeit gefunden, den Verbindungsstatus zu erhalten?!
Hier sind einige Bemühungen, die ich versucht habe, aber gescheitert sind:
Es gibt die Methode, um den Verbindungsstatus des entfernten Geräts zu erhalten, und mögliche Werte für den Verbindungsstatus sind: BOND_NONE
, BOND_BONDING
, BOND_BONDED
. Aber es ist nicht der Verbindungsstatus.
Die Methode kann verwendet werden, um den Verbindungsstatus zu erhalten, aber das BluetoothProfile
-Objekt muss zuerst abgerufen werden.
Wie in doc beschrieben: " Clients sollten getProfileProxy (Context, BluetoothProfile.ServiceListener, int) aufrufen, um den Profilproxy zu erhalten. " Er kann NUR in einem ServiceListener
abgerufen werden, wenn er aufgerufen wird Statusänderungen.
Was passiert, wenn ich den Status beim Start abfrage, ohne dass bereits Statusänderungen vorgenommen wurden?
Es bietet eine Methode:
%Vor% Aber es kann nicht verwendet werden, um den Verbindungsstatus eines Bluetooth
Sprechers zu erkennen, da das Profilargument nur GATT
oder GATT_SERVER
(für Niedrigenergiegerät), andere Profile ( HEADSET
, HEALTH
, A2DP
) werden nicht unterstützt.
Es bietet eine Methode:
%Vor% Mit dieser Funktion kann überprüft werden, ob der lokale Bluetooth
Adapter für ein bestimmtes Profil mit einem Remote-Gerät verbunden ist. Es kann verwendet werden, um ein bestimmtes Profil zu überprüfen. Aber es kann nicht verwendet werden, um ein bestimmtes Gerät zu überprüfen.
Weiß jemand, wie man den Verbindungsstatus eines gegebenen Bluetooth
-Geräts erhält?
Vielen Dank im Voraus.
Siehe die Anmerkungen in der Antwort von ähnlicher Frage Wie programmiere ich, ob ein Bluetooth-Gerät angeschlossen ist? (Android 2.2) :