Ich kann die gepaarten Bluetooth
Geräte aufzählen, und ich muss ihren aktuellen Verbindungsstatus beim Start der App überprüfen.Programmgesteuertes Überprüfen des Verbindungsstatus eines Bluetooth-Geräts in Android?
Aber ich habe keine Möglichkeit gefunden, den Verbindungsstatus zu bekommen?!
Hier sind einige Anstrengungen, die ich versucht habe, aber nicht:
- android.bluetooth.BluetoothDevice
Es Das Verfahren hat den Bindungszustand von dem entfernten Gerät zu bekommen, und mögliche Werte für die Bindungszustände sind: BOND_NONE
, BOND_BONDING
, BOND_BONDED
. Aber es ist nicht der Verbindungsstatus.
- android.bluetooth.BluetoothProfile
Verfahren verwendet werden kann, den Verbindungszustand zu erhalten, aber das BluetoothProfile
Objekt muss zunächst erhalten werden.
public abstract int getConnectionState (BluetoothDevice device);
Wie beschreiben in doc: "Kunden sollten getProfileProxy nennen (Context, BluetoothProfile.ServiceListener, int), das Profil Proxy bekommen.", Kann es nur in einem, wenn Zustandsänderungen genannt ServiceListener
abgerufen werden.
Was passiert, wenn ich den Zustand beim Start abfrage, ohne dass es noch zu Zustandsänderungen kommt?
- android.bluetooth.BluetoothManager
Es stellt ein Verfahren:
public int getConnectionState (BluetoothDevice device, int profile);
Aber es kann nicht verwendet werden, zu erkennen Verbindungszustand eines Bluetooth
Lautsprecher, Da das Profilargument nur GATT
oder GATT_SERVER
akzeptiert (für Niedrigenergiegeräte), werden andere Profile (HEADSET
, HEALTH
, A2DP
) nicht unterstützt.
- android.bluetooth.BluetoothAdapter
Es stellt ein Verfahren:
public int getProfileConnectionState (int profile);
Diese Funktion verwendet werden kann, um zu überprüfen, ob die lokalen Bluetooth
Adapter angeschlossen ist zu einem entfernten Gerät für ein bestimmtes Profil. 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.
Kann jemand den Verbindungsstatus eines gegebenen Bluetooth
Geräts erhalten?
Vielen Dank im Voraus.
Haben Sie eine Antwort darauf gefunden? –
Struck auf dies für zwei Tage Hilfe könnte sehr geschätzt werden.Haben Sie irgendeine Lösung dafür gefunden. Ich möchte den Bluetooth Gatt Verbindungsstatus überprüfen, wenn verbunden ist, dann warten müssen, bis es sich in den getrennten Zustand bewegt, aber ich habe die getConnectionState() Ausnahme ausgelöst. – prasanthMurugan