Android 6 : Les nouveautés

Gérer les permissions utilisateur

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
La demande de permission ne se fait plus au moment de l'installation de l'application mais à l'exécution, et au dernier moment. L'utilisateur pourra maintenant accepter des permissions et en refuser d'autres.
04:49

Transcription

La première nouveauté que nous allons aborder concerne les permissions utilisateurs. Alors pourquoi commencer par celle-ci ? Parce que c'est à mon goût, la plus importante et la plus contraignante pour nous en tant que développeurs. Cela dit, c'est une très bonne chose pour les utilisateurs. Voyons voir, de quoi je veux parler. Si je prends l'exemple que j'ai ici, je demande deux permissions. Permission d'accéder à internet et permission d'émettre un appel. Si cette application qui est une application de démo avait vraiment été sur le playstore au moment de l'installation, la personne aurait eu deux lignes à accepter. C'est à dire que cette application va accéder à internet, ce qui peut engendrer des coûts au niveau de votre fournisseur d'accès. Et cette application va vouloir émettre des appels qui peuvent aussi avoir des coûts supplémentaires. Si je prends cette application qui n'est pas la même et constitue une véritable application de mise en ligne, on voit qu'il y a plusieurs autorisations sur le Playstore permettant recevoir des données depuis internet, afficher les connexions réseaux. Pas mal de choses qui sont listées dans cette application, justement appeler directement des numéros de téléphone, et, cette autorisation appeler directement des numéros de téléphone correspond exactement à cette ligne, ici, émettre des appels. Si vous faites une mise à jour de votre application et que vous ajoutez des nouvelles permissions, la personne à nouveau, devrait accepter lors de la mise à jour, ces nouvelles permissions que vous lui demandez. S'il refusait ces permissions, il pouvait supprimer votre application ou ne pas obtenir la mise à jour. Et donc vous aviez encore une fois, peu de gestion à faire au niveau de votre application. Maintenant depuis Android 6, les choses ont changé complètement. L'idée étant que l'utilisateur pourra installer votre application même s'il n'accepte pas toutes les permissions. Et, au moment de l'exécution de votre application, si vous avez besoin de faire appel à une de ces permissions-là, vous devrez lui demander explicitement. Donc c'est au moment de l'exécution, qu'il pourra accepter ou refuser la permission de l'accès à certaines fonctionnalités. Donc vous devrez gérer au niveau de votre code, la demande ; éventuellement le refus de l'utilisateur pour annuler l'utilisation de cette fonctionnalité et ne pas faire crasher l'application car vous ne l'avez pas gérée. Je vais vous montrer ce que cela veut dire. Je lance la même application de démo sur deux téléphones différents. Le premier, on voit API 22 donc Android 5.1 et le deuxième API 23, Android 6. Si je clique sur ce bouton ici, cela est censé émettre un appel. Je vous montre le code en question. La fonction s'appelle callForInfo qui apparaît dès qu'on appuie sur le bouton rouge en bas à droite, et elle va créer un Intent avec justement comme intention : ACTION_CALL, donc émettre un appel avec l'URL suivant, le numéro de téléphone : tel : faux numéro de téléphone puisque c'est une application de démo. Si je suis sur le téléphone avec Android 5.1, et que j'appuie ici, on voit que l'appel se lance et on peut donc parler avec la personne en question. Lorsqu' on a terminé l'appel et qu'on raccroche, on revient directement dans l'application. Si je déploie la même application, exactement la même, sur un appareil sous Android 6 et que j'appuie sur ce bouton. On voit que ce n'est pas du tout la même chose qui vient de se passer puisque mon application s'est arrêtée. Donc il y a eu une exception que je n'ai pas gérée. On va essayer d'aller voir ce qui s'est passé. Donc, on va choisir bien, le bon émulateur. On va relancer parce que je pense qu'il n'avait pas écouté ce qui se passait sur celui-ci. On va le relancer. Voilà, pour bien qu'il suive les logs et qu'on voit l'erreur effectuée. Si je clique sur le bouton d'appel, mon application a été arrêtée par le système et on voit dans les logs du moniteur Android, qu'il y a eu une exception. L'exception, elle est marquée ici : refus de permission. Donc là, on lui a demandé d'émettre un appel ; on reconnaît bien le action.CALL, téléphone, (peu importe le numéro de téléphone), le problème est le même. c'est à dire que, on lui a révoqué la permission d'émettre un appel. Ce n'est pas que ça a été refusé par l'utilisateur, c'est que ça n'a jamais été accepté. Pourquoi ? Car on ne le lui a jamais, demandé nous-même. Et donc il va être maintenant important, à partir de cette version 6 d'Android de demander explicitement la permission d'effectuer certaines actions. Alors, pourquoi je dis certaines ? Car il existe deux types d'autorisation et de permission. Les permissions dites normales, comme par exemple accéder à internet. On n'a pas besoin de demander la permission. C'est considéré par Google comme étant une permission normale qui n'a pas besoin d'une autorisation explicite. Et les permissions dites, on va dire « dangereuses », qui peuvent poser des problèmes de confidentialité ou de coûts supplémentaires pour l'utilisateur, qui elles, requièrent l'acceptation explicite par l'utilisateur, au moment de l'exécution. C'est le cas par exemple, pour émettre un appel. Nous allons voir dans les prochaines vidéos comment mettre en place ceci, en utilisant les nouvelles API d'Android 6.

Android 6 : Les nouveautés

Prenez en main les améliorations apportées à Android 6. Voyez l’introduction d’un système d'autorisations pour les applications, la sauvegarde automatique des données, etc.

1h04 (14 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Android Android 6
Spécial abonnés
Date de parution :13 sept. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !