À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Limiter les emplacements opportunistes
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Lorsqu'une application demande la position d'un appareil, elle peut attendre la réponse à la requête ou, à l'aide d'écouteurs de position actifs, obtenir une mise à jour de position opportuniste. Cette option était disponible (sans restriction) sous Android 9 et versions antérieures, et était fournie lorsqu'une application ne spécifiait que le taux de mise à jour de la position active, laissant le taux passif vide.
(Les écouteurs de position passifs ne reçoivent pas de mises à jour de position opportunistes, car ils ne spécifient pas de fréquence de mise à jour de la position.)
À partir d'Android 10, pour obtenir des mises à jour de position opportunistes, les développeurs doivent spécifier qu'ils ont besoin de mises à jour de position passives de la classe FusedLocationProviderClient
.
Fused Location Provider
Les applications peuvent spécifier la fréquence à laquelle elles reçoivent des mises à jour de position opportunistes de la classe FusedLocationProviderClient
de deux manières.
- Spécifiez une valeur dans la méthode
setFastestInterval
inférieure à la valeur du paramètre setInterval
. (Utilisez une valeur d'au moins 0 ms.)
- Laissez la valeur être définie automatiquement en laissant
setFastestInterval
non spécifié.
Impact
Si vous ne fournissez pas de valeur pour setFastestInterval
, le nombre de notifications de position envoyées à votre application peut diminuer de manière significative.
Implémentation
Pour implémenter cette fonctionnalité, vous n'avez rien d'autre à faire que d'utiliser les valeurs suggérées pour la méthode setFastestInterval
de la classe FusedLocationProviderClient
.
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,["# Restrict opportunistic locations\n\nWhen an app requests a device's location, it can either wait for\nthe request response or, by using active location listeners, get an\nopportunistic location update. This was available (unrestricted) in\nAndroid 9 and lower, and was provided when an app specified only\nthe active location update rate, leaving the passive rate blank.\n(Passive location listeners don't receive opportunistic location\nupdates because they don't specify a location update rate.)\n\nStarting in Android 10, to get opportunistic\nlocation updates, developers must specify that they need passive location\nupdates from the **[FusedLocationProviderClient](https://developers.google.com/android/reference/com/google/android/gms/location\n/FusedLocationProviderClient)** class.\n\nFused location provider\n-----------------------\n\nApps can specify the rate at which they get opportunistic location updates from the [FusedLocationProviderClient](https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient)\nclass in two ways.\n\n- Specify a value in the [setFastestInterval](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#setFastestInterval(long)) method that's lower than the value of the [setInterval](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#setInterval(long)) parameter. (Use a value of 0 ms or greater.)\n- Let the value be set automatically by leaving [setFastestInterval](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#setFastestInterval(long)) unspecified.\n\nImpact\n------\n\nIf you don't provide a value for [setFastestInterval](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#setFastestInterval(long)),\nyour app may experience a significant\nreduction in location updates delivered to it.\n\nImplementation\n--------------\n\nYou don't need to do anything to implement this feature other\nthan to use the suggested values for the [FusedLocationProviderClient](https://developers.google.com/android/reference/com/google/android/gms/location\n/FusedLocationProviderClient) class [setFastestInterval](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html#setFastestInterval(long))\nmethod."]]