0

Ich versuche, eine Verbindung zu einem BLE-Peripheriegerät mit bleDevice.connectGatt(this, true, gattCallback) aus der App Application Klasse. Das Gerät sendet nur alle paar Stunden Werbepakete.Android: Verbinden mit Bluetooth LE-Gerät im Hintergrund

Dies funktioniert gut, solange die App geöffnet/aktiv ist. Wenn ich das Display ausschalte und ein paar Minuten warte und dann das Peripheriegerät einschalte, wird der gattCallback nie aufgerufen.

Gibt es eine andere Möglichkeit, die App zu aktivieren, wenn das Bluetooth-Gerät aktiv wird, als einen Vordergrunddienst zu erstellen?

Antwort

0

Sie können nach diesem Gerät suchen, beginnend mit Lollipop wird das Gerät bei einem Scan-Ergebnis aktiviert. Auch mit Lollipop können Sie einen Filter für den Scan einstellen und wenn Ihr Peripheriegerät eine feste Mac-Adresse hat, die Sie als Filter verwenden können, wacht Ihr Gerät auf, sobald Ihr Peripheriegerät mit der Werbung beginnt.

Abgesehen davon können Sie mit einem AlarmManager das Gerät sporadisch aufwecken.