1 votes

Pourquoi les applications imposent-elles des autorisations de lecture-écriture et de lecture seule pour que les autres applications puissent les utiliser ?

En lisant un livre, Développement d'applications sans fil Android il dit que

Les applications peuvent également appliquer leurs propres permissions en les déclarant pour que d'autres applications puissent les utiliser. Les applications peuvent déclarer un nombre quelconque de types d'autorisations différents, tels que les autorisations de lecture seule ou de lecture-écriture, pour un contrôle plus fin de l'application.

Je n'arrivais pas à comprendre pourquoi les applications ont besoin de définir lecture-écriture o en lecture seule les permissions pour permettre un autre pour utiliser ses applications.

Par exemple, comme illustré dans Développeur Android Il montre comment une application utilise une autre application Map pour afficher son adresse. Mais pourquoi l'application doit-elle définir en lecture seule o lecture-écriture les permissions pour permettre un autre pour l'utiliser ?

2voto

Andy Brudtkuhl Points 1714

Car si l'application stocke vos données, elle est responsable de leur confidentialité. Par exemple, supposons qu'il existe une application pour stocker quelque chose que vous préférez garder secret, comme votre collection d'albums de Jason Donovan. Cette application dispose d'une base de données contenant les informations pertinentes, et cette base de données est privée pour l'application. Aucune autre application ne peut la lire (sans Root), et vos goûts musicaux embarrassants sont donc gardés secrets.

Supposons maintenant que l'auteur de l'application souhaite autoriser d'autres applications à utiliser les mêmes données. Il pourrait s'agir d'une autre application du même auteur, ou il pourrait élargir le champ d'application pour permettre à d'autres auteurs d'accéder aux données. Ainsi, d'autres applications pourraient ajouter un widget sur l'écran d'accueil avec l'album du jour de Jason Donovan, ou créer des entrées de calendrier pour l'anniversaire de la sortie de chaque album, ou importer tout autre élément. Pour ce faire, il crée un fournisseur de contenu en l'ajoutant à la manifeste et publier des instructions pour les développeurs sur le format des données et la manière d'y accéder. Le fournisseur de contenu est comme un serveur : il permet aux autres applications d'interroger les données de l'application et d'obtenir des résultats, sans accéder directement à la base de données.

Si c'est tout ce qu'il fait, alors toute application installée peuvent accéder aux données. Vous installez une application de lampe de poche d'apparence inoffensive qui n'a que la permission "INTERNET", et soudain elle est capable de trouver toute votre musique embarrassante et de l'envoyer par e-mail à des escrocs à des fins de chantage. Il est évident que cela n'est pas souhaitable : un développeur d'applications qui laisserait une telle chose se produire ne devrait pas avoir confiance en vos données.

Le développeur d'applications peut empêcher cela en créant une nouvelle autorisation et en lui donnant une description lisible par l'homme, telle que "Lire vos albums préférés de Jason Donovan". La création de l'autorisation ne fait rien en soi : il doit également modifier l'attribut fournisseur de contenu de sorte que lorsqu'une application l'interroge, il vérifie que cette application a l'autorisation avant de répondre à la demande. Si l'application a l'autorisation, elle lui donne les données qu'elle a demandées ; si l'application ne l'a pas, elle peut choisir de lui donner un numéro d'identification. exception (une erreur qui indique au programme quel est le problème), ou simplement pour ne renvoyer aucun résultat ou un résultat partiel. Par exemple, il peut indiquer au programme les albums des Rolling Stones dont vous n'avez pas honte, mais pas les albums embarrassants de Jason Donovan.

De cette façon, l'application lampe de poche d'apparence inoffensive ne peut pas accéder à vos données. Avant d'installer une application qui veut accéder aux données, vous pouvez voir "Lire vos albums préférés de Jason Donovan" dans la liste des autorisations, et vous pouvez interrompre l'installation si vous ne faites pas confiance à l'auteur de l'application pour cette information.

Le nombre de permissions créées par l'application dépend du type d'accès qu'elle offre aux autres applications et de la finesse des contrôles. Dans notre exemple, l'application ne permet pas aux autres applications d'ajouter des albums, il n'y a donc pas besoin d'une autorisation de lecture-écriture. Même si c'était le cas, il se peut que l'application seulement a une permission de lecture-écriture, que les autres applications doivent avoir pour voir la liste des albums ou la modifier. Cela peut être suffisant pour une application simple comme celle-ci. Mais pour quelque chose comme une application de médias sociaux, il est plus important de limiter le nombre d'applications qui peuvent envoyer des messages (ou écrire du contenu) en votre nom, donc deux autorisations distinctes peuvent être utilisées dans ce cas. C'est à l'auteur de l'application de décider du nombre d'autorisations appropriées pour son application, afin de donner aux utilisateurs le contrôle de leur vie privée sans créer de combinaisons confuses et difficiles à comprendre.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X