1 votes

Peut-on obtenir des autorisations de répertoire sur Android ?

Sur n'importe quel appareil Android, 99,5 % des applications demandent l'autorisation d'écrire ou de lire le contenu de la carte SD en combinaison avec un accès complet au réseau.

En théorie, ces deux autorisations sont suffisantes pour que l'application puisse lire tous mes fichiers personnels (stockage en nuage) et les envoyer à leur serveur. Existe-t-il un moyen d'autoriser les applications à accéder uniquement à leurs dossiers ?

Pourquoi toutes les applications ont-elles accès à tous les dossiers ? Pourquoi un concept aussi élémentaire n'est-il pas mis en œuvre ?

3voto

slotishtype Points 1217

Les permissions au niveau du dossier ne sont pas un bon choix pour la carte SD (qu'elle soit émulée ou externe). Cela rend les choses plus compliquées.

Par défaut, les cartes sdc sont montées noexec, aucun binaire ne peut être exécuté à partir de la carte sdc. Inutile de mentionner que de nombreuses cartes SD externes sont actuellement formatées en fat32, les permissions ne sont pas une option pour elles.

Chaque application a son propre uid/gid. Si une application doit avoir des droits exclusifs de lecture/écriture (empêchant les autres applications de lire ce contenu) sur un dossier de la carte SD, il y a de fortes chances que ce dossier soit inaccessible aux autres applications. Ce genre de situation casse les choses.

Par exemple, les fichiers de musique vont dans le dossier Musique de la carte SD. Si ce dossier a des autorisations exclusives pour une application musicale particulière, alors vous ne pouvez pas avoir plusieurs lecteurs de musique sur votre appareil.

Un autre exemple est qu'un gestionnaire de fichiers tiers ne peut même pas accéder à tout le contenu de la carte SD, ce qui rend le gestionnaire de fichiers inutile.

Si un tel concept est disponible, il y a de fortes chances qu'Android/google impose le tri des fichiers/dossiers sur nos cartes SD. Je ne préférerais pas cela. J'aimerais plutôt avoir des fichiers/dossiers triés de la manière que je préfère, et non de la manière dont quelqu'un me force à le faire.

1voto

Thej Points 655

Pourquoi toutes les applications ont-elles accès à tous les dossiers ?

En effet, c'est l'objectif explicite du stockage externe : partager des données entre des applications qui n'ont pas nécessairement été conçues pour travailler ensemble.

Si une application que vous utilisez stocke des données privées dans un stockage externe, cessez d'utiliser cette application. Les développeurs d'applications et les utilisateurs ont souvent l'idée fausse que le stockage externe sert à stocker des fichiers volumineux. Cette idée est fausse et dangereuse. Si une donnée n'est pas destinée à être partagée, elle doit être stockée dans le stockage interne, quelle que soit sa taille. Une autre idée fausse et dangereuse consiste à assimiler le stockage externe à la carte SD.

Pourquoi un concept aussi élémentaire n'est-il pas mis en œuvre ?

C'est une supposition incorrecte. Depuis Android 4.4, les applications peuvent accéder à un répertoire spécifique à une application dans le stockage externe sans détenir l'autorisation générale READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE. À partir d'Android 4.4, ces autorisations ne sont nécessaires que si une application veut utiliser des données partagées par une autre application via le stockage externe.

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