Accéder à la position en arrière-plan
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Comme indiqué sur les pages Demander l'autorisation d'accéder à la position et Bonnes pratiques concernant la confidentialité, les applications doivent uniquement demander le type d'autorisation, permettant d'accéder à la position, indispensable aux fonctionnalités visibles par l'utilisateur et communiquer correctement cette information aux utilisateurs. La plupart des cas d'utilisation ne nécessitent une position que lorsque l'utilisateur interagit avec l'application. Si votre application nécessite une localisation en arrière-plan, par exemple lors de l'implémentation du géorepérage, assurez-vous que la localisation est indispensable aux fonctionnalités de base de l'application, qu'elle présente des avantages clairs pour l'utilisateur et qu'elle est effectuée de manière transparente.
Remarque : Le Google Play Store a mis à jour son règlement concernant la localisation de l'appareil, en limitant l'accès aux données de localisation en arrière-plan aux applications qui en ont besoin pour leurs fonctionnalités de base et qui respectent les exigences du règlement associées. L'adoption de ces bonnes pratiques ne garantit pas l'approbation par Google Play de l'utilisation de la localisation en arrière-plan par votre application.
En savoir plus sur les modifications du règlement liées à la localisation de l'appareil.
Checklist de l'accès aux données de localisation en arrière-plan
Utilisez la checklist suivante pour identifier la logique d'accès potentiel aux données de localisation en arrière-plan :
Dans le fichier manifeste de votre application, vérifiez l'autorisation ACCESS_COARSE_LOCATION
et l'autorisation ACCESS_FINE_LOCATION
.
Vérifiez que votre application requiert ces autorisations d'accès à la position.
- Si votre application cible Android 10 (niveau d'API 29) ou une version ultérieure, vérifiez également l'autorisation
ACCESS_BACKGROUND_LOCATION
.
Vérifiez que votre application dispose d'une fonctionnalité qui l'exige.
Recherchez l'utilisation des API d'accès aux données de localisation, telles que l'API Fused Location Provider, l'API Geofencing ou l'API LocationManager, dans votre code comme dans les constructions suivantes :
Si votre application utilise un SDK ou une bibliothèque ayant accès aux données de localisation, cet accès est attribué à votre application. Pour déterminer si un SDK ou une bibliothèque a besoin d'accéder à la position, consultez la documentation de la bibliothèque.
Évaluer l'accès aux données de localisation en arrière-plan
Si vous constatez que votre application accède aux données de localisation en arrière-plan, envisagez de prendre les mesures suivantes :
- Évaluez si l'accès aux données de localisation en arrière-plan est indispensable aux fonctionnalités de base de l'application.
Si vous n'avez pas besoin de l'accès aux données de localisation en arrière-plan, supprimez-le
Si votre application cible Android 10 (niveau d'API 29) ou une version ultérieure, supprimez l'autorisation ACCESS_BACKGROUND_LOCATION
du fichier manifeste de votre application. Lorsque vous supprimez cette autorisation, l'application ne peut pas accéder à la position en permanence sur les appareils équipés d'Android 10.
Assurez-vous d'informer l'utilisateur que votre application accède aux données de localisation en arrière-plan. Ce point est particulièrement important pour les cas qui ne sont pas évidents pour les utilisateurs.
Si possible, refactorisez votre logique d'accès aux données de localisation afin de ne demander la position que lorsque les utilisateurs peuvent voir l'activité de votre application.
Notifications limitées de la localisation en arrière-plan
Si l'accès aux données de localisation en arrière-plan est essentiel pour votre application, n'oubliez pas qu'Android préserve l'autonomie de la batterie des appareils en définissant des limites de localisation en arrière-plan sur les appareils équipés d'Android 8.0 (niveau d'API 26) ou une version ultérieure. Sur ces versions d'Android, si votre application s'exécute en arrière-plan, elle ne peut recevoir des notifications de position que quelques fois par heure. En savoir plus sur les limites de localisation en arrière-plan.
Ressources supplémentaires
Pour en savoir plus sur l'utilisation des données de localisation en arrière-plan, consultez les ressources suivantes :
Vidéos
How to find possible background location usage (Déterminer une utilisation potentielle de la localisation en arrière-plan)
Exemples
Exemple illustrant les bonnes pratiques d'accès aux données de localisation lorsque l'application est exécutée en arrière-plan.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Access location in the background\n\nAs described on the [request location\npermissions](/training/location/permissions) and [privacy best\npractices](/privacy/best-practices) pages, apps should only ask for the type of\nlocation permission that's critical to the user-facing feature, and properly\ndisclose this to users. The majority of use cases only require location when the\nuser is engaging with the app. If your app requires background location, such as\nwhen implementing geofencing, make sure that it's critical to the core\nfunctionality of the app, offers clear benefits to the user, and is done in a\nway that's obvious to them. \n**Note:** The Google Play store has updated its policy concerning device\nlocation, restricting background location access to apps that need it for\ntheir core functionality and meet related policy requirements. Adopting these\nbest practices doesn't guarantee Google Play approves your app's usage of\nlocation in the background.\n\nLearn more about the\n[policy\nchanges](https://support.google.com/googleplay/android-developer/answer/9799150) related to device location.\n\nBackground location access checklist\n------------------------------------\n\nUse the following checklist to identify potential location access logic in the\nbackground:\n\n- In your app's manifest, check for the\n [`ACCESS_COARSE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION)\n and the\n [`ACCESS_FINE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_FINE_LOCATION).\n Verify that your app requires these location permissions.\n\n - If your app targets Android 10 (API level 29) or higher, also check for the [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location). Verify that your app has a feature that requires it.\n- Look for use of location access APIs, such as the [Fused Location Provider\n API](https://developers.google.com/location-context/fused-location-provider),\n [Geofencing API](https://developers.google.com/location-context/geofencing), or\n [LocationManager API](/reference/android/location/LocationManager), within your\n code such as in the following constructs:\n\n - [Background services](/training/run-background-service/create-service)\n - [`JobIntentService`](/reference/kotlin/androidx/core/app/JobIntentService) objects\n - [`WorkManager`](/reference/kotlin/androidx/work/WorkManager) or [`JobScheduler`](/reference/kotlin/android/app/job/JobScheduler) tasks\n - [`AlarmManager`](/reference/kotlin/android/app/AlarmManager) operations\n - Pending intents that are invoked from an [app\n widget](/guide/topics/appwidgets)\n- If your app uses an SDK or library that accesses location, this access is\n attributed to your app. To determine whether an SDK or library needs location\n access, consult the library's documentation.\n\nEvaluate background location access\n-----------------------------------\n\nIf you find that your app accesses location in the background, consider taking\nthe following actions:\n\n- Evaluate whether background location access is critical to the core functionality of the app.\n- If you don't need location access in the background, remove it.\n\n If your app targets Android 10 (API level 29) or higher, remove the\n [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location)\n from your app's manifest. When you remove this permission, all-the-time\n access to location isn't an option for the app on devices that run\n Android 10.\n- Make sure the user is aware that your app is accessing location in the\n background. This is especially important for cases that aren't obvious to users.\n\n- If possible, [refactor your location access\n logic](/about/versions/oreo/background-location-limits#tuning-behavior) so that\n you request location only when your app's activity is visible to users.\n\nLimited updates to background location\n--------------------------------------\n\nIf background location access is essential for your app, keep in mind that\nAndroid preserves device battery life by setting *background location\nlimits* on devices that run Android 8.0 (API level 26) and higher. On these\nversions of Android, if your app is running in the background, it can receive\nlocation updates only a few times each hour. Learn more about [background\nlocation limits](/about/versions/oreo/background-location-limits).\n\nAdditional resources\n--------------------\n\nTo learn more about background location usage, view the following materials:\n\n### Videos\n\n[How to find possible background location\nusage](https://www.youtube.com/watch?v=xTVeFJZQ28c)\n\n### Samples\n\n[Sample](https://github.com/android/platform-samples/tree/main/samples/location/src/main/java/com/example/platform/location/bglocationaccess)\nto demonstrate best practices for accessing location when app is in background."]]