Ich bin mit zwei Android 5.0-Geräten über Bluetooth Low Energy zu kommunizieren und ich wan't:BLE mit Android 5.0: Wie man ein Gerät erhält, um als zentraler AND-Server zu fungieren?
Gerät 1 als Mittel- und Server handeln.
Gerät 2 als Peripheral und Client- zu handeln.
Dies ist das Verhalten, das ich erreichen möchte:
1) Gerät 2 startet Werbung (periphere Rolle).
2) Gerät 1 startet das Scannen (zentrale Rolle) und ruft das Werbemittel (BluetoothDevice-Objekt) über die onScanResult-Methode von ScanCallback ab.
3) Ich möchte jetzt die Werbe Gerät (Device 2) mitgeteilt werden, dass es gescannt wurde und in der Lage, die BluetoothDevice mit Gerät verbunden bekommen 1.
4) Die Vorrichtung 1 hat eine Instanz von BluetoothGattServer. Gerät 2 würde nun connectGatt (Kontextkontext, boolescher AutoConnect, BluetoothGattCallback-Rückruf) auf Gerät 1 aufrufen, um eine Instanz von BluetoothGatt zu erhalten.
5) Am Ende ist Gerät 1 Server und Gerät 2 ist Client.
Bisher habe ich festgestellt, dass in Schritt 2, wenn Gerät 1 die BluetoothDevice für Gerät 2 hält, ist es nur als Client wie in Schritt 4 mit connectGatt verbinden kann.
ich im Stande sein könnte die BluetoothGattServer definiert in der Vorrichtung 1, und rufen Sie zu verwenden: gattServer.connect (BluetoothDevice Gerät, boolean autoconnect) mit Gerät sein Gerät 2.
Aber wie wird Gerät 2 benachrichtigt werden, dass es verbunden ist?
Und wie werde ich eine Instanz von BluetoothGatt im Gerät-2 erhalten, wenn ich nicht connectGatt (Context, boolean, BluetoothGattCallback) nennen kann auf einem BluetoothDevice?
Vielen Dank im Voraus für Ihre Hilfe!
Einige Dokumentation:
Hallo Thomas, haben Sie eine Lösung für Ihr Problem gefunden? – Hollerweger
Hallo Hollerweger, leider habe ich nie die Lösung gefunden. Es war für ein Projekt an der Universität, dass ich meine Arbeit mit zwei Telefonen demonstrierte und erklärte, warum es mit diesem speziellen Mikrocontroller nicht funktionieren könnte. Ich habe seitdem meinen Abschluss gemacht und habe nicht mehr Zeit dafür. Es könnte sich jedoch lohnen zu überprüfen, ob sich mit Android 6 etwas geändert hat. Bitte lassen Sie es mich wissen, wenn Sie etwas herausfinden! ;) –