Je suis en train de travailler avec geofences dans ma demande. Jusqu'à présent, j'ai réussi et cela fonctionne parfaitement lorsque l'application est au premier plan. Je vérifie avec Android Emulator qui ont des services google play. Pour vérifier cela, je définis les paramètres de localisation et comme je l'ai dit il fonctionne très bien lorsque l'application est sur le premier plan.GeoFence Transitions n'est pas déclenchée lorsque l'application est sur fond
Mais lorsque l'application est en arrière-plan, il semble que les transitions ne sont pas déclenchées, jusqu'à ce que j'ouvrir l'application ou ouvrir l'application Google Maps.
J'ai donc essayé d'utiliser BroadcastReceiver au lieu de IntentService et je me suis inscrit le BroadcastReceiver dans le fichier manifeste Comme ceci:
<receiver android:name = ".GeofenceReceiver"
android:exported = "true"
android:enabled = "true"
/>
Mais je suis toujours avoir les mêmes résultats ..
Alors, comment puis-je déclencher les transitions Geofence lorsque l'application est en arrière-plan?
Je pensais à l'aide LocationServices.FusedLocationApi.requestLocationUpdates
dans un service. Donc, avec cette approche, mon application va demander des mises à jour de localisation et cela va probablement déclencher la transition geofence.
Mais probablement il consommera la batterie et c'est une mauvaise pratique. Alors, y a-t-il d'autres options?