Wie kann ich eigentlich BOND-ein Gerät?
Überall wo ich schau, ich finde diese Methode "getBondedDevices()" für meinen bluetooth-adapter. Allerdings habe ich mein tablet und anderen bluetooth-Geräten, die neben mir saß, und ich kann nicht herausfinden, wie das Gerät zu zeigen, bis auf der Liste verbundener Geräte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bluetooth-Begriffe, "gebundene" und "gekoppelt" sind im Grunde Synonyme (offiziell, den Prozess der Paarung führt zu einer Bindung, aber die meisten Menschen verwenden Sie austauschbar). Um für Ihr Gerät zu dieser Liste Hinzugefügt haben, müssen Sie gehen durch den Prozess der Entdeckung, wie man ein Gerät sucht und findet einen anderen, und dann Paar die beiden zusammen.
Können Sie tatsächlich tun dies aus den Gerät-Einstellungen als ein Benutzer, aber wenn Sie schauen, um so im Rahmen einer app, Ihr Prozess wird wahrscheinlich wie folgt Aussehen:
BroadcastReceiver
fürBluetoothDevice.ACTION_FOUND
undBluetoothAdapter. ACTION_DISCOVERY_FINISHED
BluetoothAdapter.startDiscovery()
BluetoothAdapter.cancelDiscovery()
sobald Sie gefunden haben, es nicht zu vergeuden der Batterie, nicht mehr als notwendig.BluetoothSocket
undconnect()
. Wenn die Geräte nicht bereits verklebt, dies wird initiieren Sie die Kopplung und kann zeigen einige system-UI für einen PIN-code.connect()
Methode auch tatsächlich öffnet die socket-Verbindung, und wenn er zurückkehrt, ohne eine Ausnahme zu werfen, die beiden Geräte verbunden sind.getInputStream()
undgetOutputStream()
aus dem socket Lesen und schreiben von Daten.Grundsätzlich können Sie überprüfen Sie die Liste von verbundenen Geräten, um schnell Zugriff auf ein externes Gerät, aber in den meisten Anwendungen, die Sie tun werden, eine Kombination dieser und echte Entdeckung, um sicherzustellen, können Sie immer eine Verbindung zu dem remote-Gerät unabhängig davon, was der Benutzer tut. Wenn ein Gerät bereits verklebt, Sie würden nur tun, die Schritte 5 bis 7 zu verbinden und zu kommunizieren.
Weitere Informationen und Beispiel-code, check out die "Entdeckung-Geräte" und "Geräte Anschließen" Abschnitte der Android SDK, Bluetooth Guide.
HTH
createRfcommSocketToServiceRecord()
wird verwendet, um die socket-Objekt aus dem Gerät.connect()
wie in "Anschließen als client" Beispiel für die Anleitung. Wennconnect()
erfolgreich zurückgegeben, die Sie verwenden könnengetInputStream()
undgetOutputStream()
um die Datenübertragung zu starten.BluetoothDevice
entweder ausgetBondedDevices()
(falls bereits angeschlossen) oder aus derBroadcastReceiver
Rückruf bei der Erkennung, wenn das Gerät gefunden wird. Im letzteren Fall, das Gerät selbst wieder vergangen als extra in denIntent
übergebenonReceive()
Methode.API level 19 und höher können Sie anrufen createBond() auf BluetoothDevice instace, zu dem Sie eine Verbindung herstellen möchten.
Sie erfordern einige Berechtigungen zu entdecken und eine Liste der sichtbaren Geräte
Code zu entdecken und die Liste der Geräte:
Einfach anrufen createBond() auf das ausgewählte Gerät.