2009-11-27 7 views
4

J'ai écrit une application Android. Ce sont les permissions que j'ai demandé:L'autorisation "Carte SD" apparaît sur les appareils 2.0?

  • INTERNET
  • ACCÈS-GROSSIÈRE LOCALISATION
  • ACCESS-FIN-LOCALISATION
  • ACCÈS-RÉSEAU ÉTAT
  • CHANGEMENT-RÉSEAU ÉTAT

Sur les appareils 1.5, ça semble bien. J'ai essayé sur un périphérique 2.0, et il montre également une autorisation supplémentaire lors de l'installation de l'application:

  • CARTE SD en lecture/écriture

Est-ce simplement à venir par défaut maintenant sur un appareil 2.0, nous installons applications sur? J'utilise Context.openFileOutput() pour écrire un fichier sur le disque, mais seulement à l'emplacement de bac à sable de l'application, jamais à la carte SD.

Merci

Répondre

4

De l'API docs, les applications ciblant DONUT ou plus:

... doit demander explicitement l'autorisation de WRITE_EXTERNAL_STORAGE pouvoir modifier le contenu de la carte SD . si vous construisez une application 1.5 (applications ciblant les versions antérieures demanderont toujours la permission .)

Par conséquent, vous obtenez automatiquement WRITE_EXTERNAL_STORAGE.

+0

Ok, donc j'ai besoin d'écrire sur le disque, mais seulement un très petit fichier, et pour cela, j'écris uniquement dans le sandbox de l'application (pas sur la carte SD). C'est une application de 1,5. Donc, si je veux me débarrasser de cette demande d'autorisation à venir, je devrais créer une autre version spécifiquement pour 2.0? Ensuite, il ne devrait plus apparaître, non? Merci – Mark

+0

Pour autant que je comprends, oui. – CommonsWare

0

Je pense que la lecture de la carte SD est toujours permis, mais pour vous écrire besoin de la permission de WRITE_EXTERNAL_STORAGE, peut-être « SD CARD READ/WRITE » est juste une autre traduction pour que l'appareil, car plus lisible par l'homme .

Questions connexes