3 votes

Définir des autorisations personnalisées par application

Je veux un contrôle plus granulaire sur les autorisations. Je suis d'accord pour que les applications aient certaines autorisations, mais je veux être responsable et avoir un contrôle plus granulaire.

Est-ce possible sur Android ? Je sais qu'iOS le fait pour certaines choses comme les contacts et les données de calendrier. L'utilisateur est invité avant que l'application n'ait accès à ces ensembles de données sensibles.

Techniquement, je peux voir que cela fonctionnerait en refusant l'accès à l'API lorsque l'application essaie d'y accéder.

4voto

Milner Points 533

Ajoutant à la réponse de Chahk : Oui, c'est vrai que "nativement" les autorisations sont "tout ou rien". L'utilisateur "standard" est censé accepter toutes les autorisations qu'une application demande -- ou s'abstenir de l'installer.

Et oui, c'est vrai : en utilisant une application comme Permissions Denied, qui simplement "refuse" à une application certaines autorisations, les applications pourraient se fermer brusquement car elles ne s'y attendent pas.

Mais il y a une troisième manière où les applications reçoivent simplement des "fausses données". Cela est fait par exemple par LBE et PDroid (voir D'autres applications pour gérer les autorisations? et comment falsifier mes informations personnelles pour plus de détails). L'application veut accéder aux contacts? Dommage, le carnet d'adresses est vide. L'IMEI? OK, et si c'était "1234567890"? Internet? Désolé, mais nous sommes dans un tunnel -- ni le WiFi ni les données mobiles ne sont disponibles. Ainsi, toutes les données renvoyées ont du sens pour l'application demandante : elle ne reçoit pas simplement une "exception", donc elle ne plante pas. Et ce qu'elle invente à partir des fausses données -- peu importe! :)

Inutile de dire : le root est également nécessaire ici...

2voto

Chahk Points 19297

Chaque application présentera une liste des autorisations qu'elle utilise lors de l'installation, à ce moment-là un utilisateur peut soit les accepter et installer l'application, soit les refuser et arrêter l'installation. Le modèle d'autorisations sur Android est du type "tout ou rien", ce qui signifie que vous devez accepter tout ce que l'application demande, ou ne pas l'installer.

Par défaut, après cette première acceptation, Android de base ne permet pas aux utilisateurs de refuser des autorisations spécifiques. Cependant, si votre téléphone est rooté, il existe des applications tierces qui offrent cette fonctionnalité. Certains ROMs personnalisés le permettent également. Gardez à l'esprit que la grande majorité des applications sont programmées en supposant que toutes leurs autorisations déclarées sont disponibles (puisque vous devez les accepter pour installer ladite application.) Par conséquent, elles ne vérifieront pas les conditions dans lesquelles des autorisations ont été refusées par des méthodes non standard. Cela signifie que les applications risquent de devenir instables et pourraient planter ou se bloquer.

1voto

ce4 Points 14264

Vous pouvez obtenir ce que vous voulez, mais vous devez modifier ou flasher un firmware tiers sur votre appareil.

Il y a la gestion des autorisations de CyanogenMod 7, mais elle est uniquement capable de révoquer des autorisations. Les requêtes API échouent alors. En fin de compte, c'est la même chose que si le développeur avait oublié de déclarer l'autorisation en premier lieu et les applications ne vérifient souvent pas cette condition et échouent.

Ensuite, il y a l'ensemble de correctifs d'extension Privacy Droid (pdroid). Il a été initialement développé pour Android 2.3 et se compose d'une source fermée (Application de gestion sur Google Play et d'un correctif open source pour le firmware (voir le lien sur le Play Store).

Comme le développement a stagné, d'autres ont porté les correctifs système vers des versions plus récentes d'Android et des applications de gestion open source ont également été écrites. Certains Roms personnalisés incluent déjà tous les changements nécessaires, pour ceux qui ne le font pas (CM, et al.) il y a le projet Autopatcher pour modifier les images de firmware pour inclure tous les éléments nécessaires :

Thread AutoPatcher sur XDA

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