Comprendre les autorisations dans Android M

introduction

Avant la version M, le modèle d’autorisations Android était une décision tout ou rien pour les utilisateurs au moment de l’installation. Cela signifiait que si un utilisateur souhaitait utiliser une application, il devait d’abord accepter toutes les autorisations incluses dans l’application ou choisir de ne pas l’installer du tout. Cela a conduit de nombreux développeurs à perdre des installations d’applications, une déconnexion de confiance entre les utilisateurs et les développeurs, et d’autres problèmes de confidentialité.

Boîte de dialogue Autorisations de l'heure d'installation héritée

Dans le cadre du nouveau modèle d’autorisations, les utilisateurs pourront approuver les autorisations au moment de l’exécution en fonction de leurs besoins et peuvent refuser ces autorisations à tout moment. Dans cet article, vous découvrirez comment cette modification des autorisations de gestion vous affectera en tant que développeur et comment vos utilisateurs connaîtront vos applications.

Il convient de noter que cet article a été écrit avant la sortie officielle d’Android M., donc certaines informations peuvent changer avec la version officielle.

1. Qu’est-ce qui nécessite des autorisations?

Alors qu’Android M nécessite toujours des autorisations pour être déclarées dans AndroidManifest.xml, les utilisateurs devront désormais approuver ou refuser l’utilisation de cette autorisation au moment de l’exécution. Un changement important dans la nouvelle version d’Android est que android.permission.INTERNET et android.permission.WRITE_EXTERNAL_STORAGE ont été rétrogradés d’une note de dangereux à Ordinaire. Cela signifie que vous n’avez pas besoin d’inviter l’utilisateur avant utilisation.

Lors de la demande d’approbation d’autorisation, l’utilisateur sera invité en fonction du groupe de l’autorisation, plutôt que d’être invité à approuver chaque autorisation dans un groupe. Cela signifie que si votre application doit envoyer et recevoir des messages SMS, votre utilisateur ne sera invité qu’à approuver le groupe d’autorisations SMS. Vous trouverez ci-dessous une liste des groupes d’autorisations actuellement pris en charge dans Android M Developer Preview 2, comme indiqué dans les paramètres système.

Liste des groupes d'autorisations actuellement pris en charge

Il convient également de noter qu’Android dispose d’un robuste Intent système, qui permet aux développeurs de demander des données à d’autres applications. Plutôt que de demander l’autorisation de la caméra et de développer une application qui utilise les API de la caméra à partir de zéro, vous pouvez demander à l’utilisateur de prendre une photo à l’aide d’une application de caméra déjà approuvée afin d’obtenir une image dans votre application. Les autorisations impliquant la caméra seront gérées par l’application caméra.

2. Comment demander la permission?

Lorsque vous devez utiliser une fonctionnalité qui nécessite une autorisation, un flux général d’événements se produit. Vous devez d’abord voir si cette autorisation a déjà été approuvée par votre utilisateur.

En relation :  Pourquoi votre téléphone Android surchauffe et comment l'arrêter

Si l’utilisateur n’a pas approuvé l’autorisation, vous pouvez lui présenter une boîte de dialogue de demande d’autorisation. La première fois que vous présentez cela à l’utilisateur, il devra soit refuser, soit approuver l’autorisation.

Cependant, s’ils ont précédemment refusé l’autorisation et sont à nouveau demandés, ils auront la possibilité de ne plus jamais avoir à demander cette autorisation.

Organigramme des demandes d'autorisations

Vous pouvez vérifier si une autorisation a déjà été accordée en appelant checkSelfPermission avant d’utiliser une fonctionnalité qui nécessitera cette autorisation. Cette méthode renvoie un int valeur basée sur le fait que l’autorisation soit accordée ou non.

S’il est égal à PackageManager.PERMISSION_GRANTED, alors vous pouvez continuer comme prévu. Cependant, si cette autorisation n’a pas été accordée auparavant, vous pouvez la demander avec requestPermissions, en passant un tableau de chaînes d’autorisation et un int demandez du code pour suivre le flux logique de votre application.

Une fois que requestPermissions est appelé, l’utilisateur reçoit une boîte de dialogue de demande pour chaque groupe d’autorisations pour lequel votre application demande l’autorisation. Il est recommandé de ne demander les autorisations que si nécessaire, plutôt que de manière groupée lorsque votre utilisateur démarre votre application pour la première fois.

Demande de dialogue sur Android M

Lorsque votre utilisateur a terminé avec les boîtes de dialogue, onRequestPermissionsResult est appelé et accessible dans votre Activity. C’est là que vous démarrez votre fonctionnalité ou que vous gérez la situation dans laquelle votre utilisateur a refusé une ou plusieurs autorisations.

Un exemple de la façon de vérifier si une autorisation a été accordée ou refusée est présenté ci-dessous. Si l’utilisateur a refusé les autorisations requises pour votre fonctionnalité, vous devez désactiver cette fonctionnalité et indiquer à l’utilisateur pourquoi elle ne fonctionne pas dans votre application.

3. Anciennes applications sur Android M

Alors que les applications conçues pour Android M doivent implémenter les nouvelles boîtes de dialogue et méthodes d’autorisations, les applications créées pour les versions précédentes d’Android présenteront toujours aux utilisateurs une liste d’autorisations au moment de l’installation. Bien que les autorisations soient acceptées avant que les utilisateurs puissent utiliser votre application, elles peuvent toujours être révoquées à tout moment.

En relation :  3 raisons pour lesquelles être `` mauvais '' dans les petites choses vous prépare à un grand succès

Étant donné que l’infrastructure de gestion des autorisations révoquées ne sera pas disponible dans les applications ciblant moins d’Android M, toutes les fonctionnalités qui auraient des autorisations requises seront renvoyées null, , ou une valeur vide lorsque les autorisations ne sont pas accordées. Cela peut entraîner un comportement inattendu dans les applications.Il est donc recommandé aux développeurs de se préparer à mettre à niveau leurs applications pour prendre en charge le nouveau modèle d’autorisation Android M. dès que possible.

Conclusion

Dans cet article, vous avez découvert le nouveau modèle d’autorisation Android M et comment prendre en charge les autorisations mises à jour dans vos applications. Nous avons également expliqué comment les applications répondront à la nouvelle version d’Android lorsqu’elles auront été créées pour les versions précédentes. En utilisant ces informations, vous devriez pouvoir préparer vos applications pour la sortie officielle de la prochaine mise à jour d’Android.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.