Les autorisations de localisation Tristate dans Android 10 donnent aux utilisateurs plus de contrôle sur la façon dont les applications accèdent à la localisation de leurs appareils.
Dans Android 9 et les versions antérieures, les utilisateurs ont fait des choix persistants lors de l'octroi de l'accès à la localisation aux applications. Ils pouvaient soit Refuser soit Autoriser , ce dernier donnant aux applications un accès permanent (au premier plan et à l'arrière-plan). Les autorisations de localisation Tristate dans Android 10 offrent aux utilisateurs trois options pour autoriser une application à accéder à la localisation d'un appareil. Les utilisateurs sont invités à accorder ou à refuser le niveau d'autorisation lorsqu'une application le demande.
Un utilisateur voit normalement les trois choix présentés dans la figure 1. Cependant, il existe des cas d'utilisation où seules deux de ces options sont requises, et dans de tels cas, seules ces deux options sont affichées.

Ce sont les trois options :
- Autoriser tout le temps : l'emplacement de l'appareil est connu de l'application même lorsque l'application n'est pas utilisée (fonctionnant en arrière-plan). Cela équivaut à autoriser l'autorisation dans Android 9 et versions antérieures.
- Autoriser uniquement lorsque l'application est en cours d'utilisation : (au premier plan uniquement) l'emplacement de l'appareil n'est visible par l'application que lorsqu'elle est en cours d'exécution.
- Refuser : l'emplacement de l'appareil n'est jamais visible par l'application. Cela revient à refuser l'autorisation dans Android 9 et versions antérieures.
Les utilisateurs sont invités à accorder l'autorisation d'accès à l'emplacement lorsque les applications demandent l'autorisation.
Une fois qu'un utilisateur accorde l'autorisation d'accès Autoriser uniquement lorsque l'application est en cours d'utilisation , une application peut demander une augmentation incrémentielle de l'accès à Autoriser tout le temps . L'utilisateur voit une boîte de dialogue de demande (illustrée à la figure 2 ). Si l'utilisateur sélectionne Conserver l'accès pendant l'utilisation , lorsque l'application accède à l'emplacement de l'appareil lors de la prochaine utilisation, la boîte de dialogue propose l'option Conserver et ne plus demander .
La boîte de dialogue s'affiche dans les conditions suivantes pour les applications ciblant Android 10 :
- Après au moins 24 heures d'octroi de l'autorisation.
- Uniquement si l'application reçoit des emplacements en arrière-plan.
- Lorsque l'écran est allumé et que l'utilisateur n'utilise pas une autre application.

Pour en savoir plus sur la demande d'autorisations, consultez Accès de l'application à l'emplacement de l'appareil . Pour savoir si votre application cible Android 9 et les versions antérieures, consultez Suite de l'action initiée par l'utilisateur .
Impact
La fonctionnalité d'autorisations de localisation à trois états affecte toute application nécessitant un accès à la localisation de l'appareil lorsqu'elle s'exécute en arrière-plan et est requise dans Android 10.
Vous pouvez modifier votre code, mais vous ne pouvez pas modifier ou personnaliser le comportement lié aux autorisations dans le cadre.
Mise en œuvre
Les autorisations de localisation Tristate sont appliquées aux applications dans Android 10, quel que soit le SDK cible d'une application.
Pour plus d'informations sur la mise en œuvre des cas d'utilisation de votre application (sur les mises à niveau), reportez-vous à la section Concevoir des scénarios de mise à niveau des appareils dans la documentation du développeur.
Pour savoir comment activer l'accès pour différents cas d'utilisation (par exemple, l'accès à la position en arrière-plan pour des applications telles que Google Maps ou les services Google Play), consultez ces rubriques sur la page Accès de l'application à la position de l'appareil :
Accès à la localisation dans l'application
Les utilisateurs peuvent modifier les autorisations d'accès de votre application sur Refuser ou Autoriser uniquement lors de l'utilisation de l'application s'ils le souhaitent. Pour l'autorisation d'accès à l'emplacement dans l'application et pour toutes les applications propriétaires et tierces, indiquez les niveaux de contrôle utilisateur indiqués dans le tableau suivant.
L'application de type d'autorisation doit demander | Options utilisateur à fournir |
---|---|
L'application demande uniquement les autorisations de premier plan | Autoriser uniquement lors de l'utilisation de l'application Refuser |
L'application demande toujours l'autorisation (premier plan et arrière-plan) | Autoriser tout le temps Autoriser uniquement lors de l'utilisation de l'application Refuser |
Toutes les applications avec des demandes d'accès à la localisation | Autoriser uniquement lors de l'utilisation de l'application |
Ces autorisations s'appliquent à toutes les demandes de localisation. Les applications avec Autoriser uniquement lors de l'utilisation des autorisations d'application ne sont pas autorisées en arrière-plan Wi-Fi ou analyses cellulaires.
Sur Android 11 ou version antérieure, les applications avec Autoriser uniquement lors de l'utilisation des autorisations d'application ne sont pas autorisées à effectuer des analyses Bluetooth en arrière-plan. À partir d'Android 12, les applications avec Autoriser uniquement lors de l'utilisation des autorisations d'application peuvent obtenir des résultats d'analyse Bluetooth en définissant la valeur de l'attribut android:usesPermissionFlags
sur neverForLocation
. Pour plus de détails, voir L'application ne dérive pas l'emplacement physique .
Mises à niveau du système d'exploitation
Lors d'une mise à niveau du système d'exploitation vers Android 10, les autorisations d'emplacement des applications se traduisent comme suit :
- Activé devient Autoriser uniquement en cours d'utilisation .
- Désactivé reste désactivé ( Refuser ).
- L'accès à l'emplacement pré-accordé devient Autoriser uniquement pendant l'utilisation avant l'octroi.