0

Je suis en train de se connecter à un périphérique BLE avec bleDevice.connectGatt(this, true, gattCallback) de Application classe de l'application. L'appareil enverra des paquets publicitaires seulement toutes les quelques heures.Android: Connexion à un périphérique Bluetooth en arrière-plan LE

Cela fonctionne très bien tant que l'application est ouverte/active. Lorsque j'éteins l'écran et attendez quelques minutes, puis allumez le périphérique, le gattCallback n'est jamais appelé.

Existe-t-il un autre moyen de réactiver l'application lorsque le périphérique Bluetooth devient actif que de créer un service de premier plan?

Répondre

0

Vous pouvez scanner pour ce périphérique, en commençant par Lollipop, l'appareil sera réveillé en cas de résultat de numérisation. Aussi avec Lollipop vous pouvez définir un filtre pour l'analyse et si votre périphérique a une adresse MAC fixe, vous pouvez l'utiliser comme filtre, puis votre appareil se réveille, dès que votre périphérique commence à faire de la publicité. En outre, vous pouvez utiliser un AlarmManager pour réveiller sporadiquement l'appareil.