Les autorisations de localisation à trois états dans Android 10 donnent aux utilisateurs plus de contrôle sur la manière dont les applications accèdent à la localisation de leurs appareils.
Sous Android 9 et versions antérieures, les utilisateurs faisaient des choix persistants lorsqu’ils accordaient l’accès à la localisation des applications. Ils pouvaient soit Deny soit Allow , ce dernier donnant accès aux applications à tout moment (premier plan et arrière-plan). Les autorisations de localisation à trois états 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-là sont affichées.
Voici 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 : (premier plan uniquement) l'emplacement de l'appareil n'est visible par l'application que lorsqu'elle est en cours d'exécution.
- Refuser : la localisation 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 à la localisation 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 moment . L'utilisateur voit une boîte de dialogue de demande (illustré dans la figure 2 ). Si l'utilisateur sélectionne Conserver l'accès en cours d'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 apparaît dans ces conditions pour les applications ciblant Android 10 :
- Après au moins 24 heures après l'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 des applications à l'emplacement de l'appareil . Pour plus de détails si votre application cible Android 9 et versions antérieures, consultez Poursuite 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 lors de son exécution 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 framework.
Mise en œuvre
Les autorisations de localisation à trois états 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 Conception de scénarios de mise à niveau d'appareil dans la documentation du développeur.
Pour savoir comment activer l'accès pour différents cas d'utilisation (par exemple, exiger un accès à la localisation en arrière-plan pour des applications telles que Google Maps ou les services Google Play), consultez ces rubriques sur la page Accès des applications à la localisation 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 lorsqu'ils utilisent l'application, s'ils le souhaitent. Pour l’autorisation d’accès à la localisation dans l’application et pour toutes les applications propriétaires et tierces, fournissez 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 des 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 de l'application ne sont pas autorisées à effectuer des analyses Wi-Fi ou cellulaires en arrière-plan.
Sur Android 11 ou version antérieure, les applications avec Autoriser uniquement lors de l'utilisation des autorisations de l'application ne sont pas autorisées aux 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, consultez 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 de localisation des applications se traduisent comme suit :
- On devient Autoriser uniquement pendant l'utilisation .
- Off reste désactivé ( Refuser ).
- L'accès à l'emplacement pré-accordé devient Autorisé uniquement pendant l'utilisation de la pré-autorisation.