Überall, wo ich hinsehe, finde ich diese Methode "getBondedDevices ()" für meinen Bluetooth-Adapter. Allerdings habe ich mein Tablet und ein anderes Bluetooth-Gerät neben mir sitzen, und ich kann nicht herausfinden, wie das Gerät tatsächlich auf der Liste der verbundenen Geräte angezeigt werden.
In Bluetooth ausgedrückt, sind "verbunden" und "gepaart" grundsätzlich Synonyme (offiziell führt der Prozess der Paarung zu einer Bindung, aber die meisten Leute benutzen sie austauschbar). Damit Ihr Gerät zu dieser Liste hinzugefügt werden kann, müssen Sie den Vorgang Erkennung durchlaufen. Auf diese Weise sucht ein Gerät nach einem anderen Gerät und sucht dann nach einem Paar zusammen.
Sie können dies tatsächlich über die Geräteeinstellungen als Benutzer tun, aber wenn Sie dies im Kontext einer App so sehen, wird Ihr Prozess wahrscheinlich etwa so aussehen:
BroadcastReceiver
für BluetoothDevice.ACTION_FOUND
und BluetoothAdapter. ACTION_DISCOVERY_FINISHED
BluetoothAdapter.startDiscovery()
aufrufen.
BluetoothAdapter.cancelDiscovery()
aufrufen, sobald Sie festgestellt haben, dass die Batterie nicht mehr als nötig verschwendet wird. BluetoothSocket
und connect()
. Wenn die Geräte noch nicht verbunden sind, wird die Kopplung eingeleitet und möglicherweise eine Systembenutzeroberfläche für einen PIN-Code angezeigt. connect()
-Methode öffnet auch tatsächlich die Socket-Verbindung, und wenn sie zurückkehrt, ohne eine Ausnahme auszulösen, sind die beiden Geräte verbunden. getInputStream()
und getOutputStream()
vom Socket aufrufen, um Daten zu lesen und zu schreiben. Grundsätzlich können Sie die Liste der verbundenen Geräte überprüfen, um schnell auf ein externes Gerät zugreifen zu können. In den meisten Anwendungen werden Sie jedoch eine Kombination aus dieser und der echten Erkennung durchführen, um sicherzustellen, dass Sie immer eine Verbindung zum entfernten Gerät herstellen können was der Benutzer tut. Wenn ein Gerät bereits verbunden ist, führen Sie nur die Schritte 5-7 durch, um eine Verbindung herzustellen und zu kommunizieren.
Weitere Informationen und Beispielcode finden Sie in den Abschnitten "Ermitteln von Geräten" und "Anschließen von Geräten" unter Android SDK Bluetooth Guide .
HTH
API-Level 19 und höher Sie können createBond () auf BluetoothDevice-Instace aufrufen, zu dem Sie eine Verbindung herstellen möchten. Sie benötigen einige Berechtigungen, um die sichtbaren Geräte zu erkennen und aufzulisten
%Vor%Code zum Auffinden und Auflisten der Geräte:
%Vor%Rufen Sie einfach createBond () auf dem ausgewählten Gerät auf.