Warum verbindet sich die App nicht mit dem BLE-Gerät, wenn AutoConnect in Android auf true gesetzt ist?

8

Ich entwickle mich in Android und BLE . Ich möchte die App automatisch wieder verbinden mit dem BLE-Gerät nach dem BLE-Gerät trennen, aber zurück in den Bereich und Werbung.

Ich verwende den folgenden Code, um eine Verbindung zum BLE-Gerät herzustellen:

%Vor%

Ich habe AutoConnect auf true gesetzt, aber es wurde keine Verbindung hergestellt, wenn das BLE-Gerät die Verbindung getrennt hat und in den Bereich zurückkehrt.

Warum verbindet sich die App nicht mit dem BLE-Gerät, wenn in Android AutoConnect auf "true" gesetzt ist?

Habe ich etwas verpasst?

Vielen Dank im Voraus.

    
Wun 19.11.2014, 12:47
quelle

2 Antworten

12

Der Parameter für die automatische Verbindung legt fest, ob eine aktive Verbindung mit dem Remote-Gerät (oder) statt dessen passiv erfolgt und die Verbindung abgeschlossen wird, wenn sich das Remote-Gerät in Reichweite befindet.

Aber das bedeutet nicht, dass ein Peripheriegerät, das seit Tagen wieder getrennt wurde, wieder verbunden wird.

Im Allgemeinen sollte die erste Verbindung zu einem Gerät direkt sein (autoConnect auf false gesetzt) ​​und nachfolgende Verbindungen zu bekannten Geräten sollten mit dem Parameter autoConnect auf true aufgerufen werden.

Beachten Sie auch, dass die automatische Verbindung nur funktioniert, wenn das Gerät noch sendet. Wenn nicht, dann wird es nicht funktionieren.

Ich würde es vorziehen, dass Sie sich manuell neu verbinden, wenn das Gerät getrennt wird. Wenn Sie am Ende folgen, benötigen Sie eine Markierung, um festzustellen, ob das Gerät ohne die Zustimmung des Benutzers tatsächlich getrennt wurde.

Wenn dies zutrifft, trennen Sie die Verbindung zwischen Ihrem Service- / Broadcast-Empfänger und der Verbindung mit der Geräteadresse , die Sie zuvor gespeichert haben müssen.

    
Vikram Ezhil 19.11.2014, 16:04
quelle
-1

Nach meinen Experimenten mit den BLE-Geräten hat es ein unterschiedliches Verhalten in verschiedenen Builds wie Kitkat und Lollipop. Auch ich habe beobachtet, dass die Verwendung von ScanCallback nicht so zuverlässig in API Level 24 eingeführt wird.

Damit die automatische Verbindung funktioniert, muss das BLE-Gerät aktiv sein.

Für mich musste ich Kitkat und Lollipop unterstützen, während ich gatt anbot, rief ich an:

%Vor%

Jetzt funktioniert die automatische Verbindung für mich sowohl in Lollipop als auch in Kitkat.

    
Saurav 22.09.2016 10:14
quelle

Tags und Links