2016-08-05 27 views
0

Ich verwende ein BLU Advanced 5.0-Gerät läuft auf Lollipop und ich verwende es derzeit als mein Entwickler Telefon, ich schreibe ein Programm, das BLE verwendet, um den Namen eines Geräts zu lesen, über das Daten enthält das Gerät. Ich verbinde mich nicht mit diesem Gerät, ich lese nur den Namen davon. Hier ist mein Problem, so dass die Bluetooth-Gerätenamen, wenn ich scannen ändert sich nie, auch wenn es der Fall ist, zum BeispielBluetooth Gerätename ändern keine Updates

7ebb6486aa21db2197 

, dass der Name ist, würde ich von der BLE-Scan zurück, aber wenn ich ändern Sie die Werte auf die BLE Gerät würde der Name ändern, zum Beispiel

7ebb6486aa21db2199 

Aber wenn ich den Namen scannen würde es nicht aktualisieren, wird immer noch den alten Namen zeigen, und ich kann nicht herausfinden, wie der Name erhalten zu aktualisieren. Es ist schlecht, weil das Gerät nicht verbindbar ist, so dass ich herausfinden kann, wie man den Namen mit GATT abonnieren kann. Der einzige Weg, wie ich die Werte verändern kann, ist, wenn ich Bluetooth am Telefon neu starte und das ist die einzige Möglichkeit, die ich finden könnte.

+0

Ziemlich sicher können Sie einfach einfach mit 'startDiscovery' erneut scannen. –

+0

Das scheint nicht zu funktionieren, die einzige Möglichkeit wird es ändern, wenn ich Bluetooth neu starte. @MuratK. – cunniemm

+0

[Siehe hier] (http://stackoverflow.com/questions/10171843/how-to-prevent-name-caching-and-detect-bluetooth-name-changes-on-discovery). Habe es nicht getestet. –

Antwort

1

Wenn Sie nur scannen und niemals eine Verbindung herstellen, parsen Sie einfach den ScanRecord und holen Sie sich den Namen von dort.

+0

Wow, das hat super funktioniert, vielen Dank! – cunniemm