2012-03-16 1 views
1

J'ai donc remarqué que d'un périphérique à l'autre, il existe de nombreuses configurations différentes pour interne et externe. Sur mon Evo il y a juste le stockage interne et la carte SD externe, mais sur un Droid Incredible de la même année, il y a un stockage interne, une carte SD interne (~ 8GB) et une carte SD externe (1GB par défaut). Il y a probablement d'autres configurations, et il y en aura d'autres à venir. Cependant, tout ce que je peux trouver sur l'énumération du nombre de supports de stockage disponibles est Environment, où vous pouvez faire des choses comme getExternalStorageDirectory(), qui renvoie un fichier, pas File [] ou quelque chose comme ça. Existe-t-il un moyen plus sûr et généralisé d'énumérer tous les supports de stockage disponibles? Avez-vous juste à naviguer vers/mnt/et obtenir une liste pour voir tous les volumes montés? Y a-t-il une façon plus sûre et généralisée d'énumérer tous les supports de stockage disponibles?Android - Trouver tous les stockage interne et externe

Répondre

1

Du point de vue de SDK, il y a d'espace de stockage (getFilesDir()) et il y a une mémoire externe (Environment.getExternalStorageDirectory()). Sur Android 1.x/2.x, ceux-ci seront des partitions séparées; sur Android 3.0+, ils seront une seule partition. Par définition, tout ce qui va au-delà de ce que propose le SDK ne sera pas sûr. Il n'y a aucune garantie sur les noms des partitions, leurs rôles, si vous pouvez les lire, si vous pouvez leur écrire, etc. Même si vous construisez une base de données de toutes les possibilités (modèle, version du système d'exploitation, partitions et leur statut), cette base de données serait perpétuellement obsolète vis à vis nouveaux périphériques et versions de système d'exploitation.

Vous pouvez pouvez accéder aux fichiers multimédia sur d'autres partitions à l'aide du MediaStore. Par exemple, certains fabricants de périphériques qui proposent une carte SD en plus du stockage externe intégré indexent les fichiers de la carte SD, de sorte que tous les fichiers multimédia contenus sur la carte SD apparaissent dans le MediaStore. Cela peut vous permettre de consommer du contenu sur d'autres partitions fournies par le fabricant (par exemple, la carte SD), mais AFAIK MediaStore ne vous offre aucun moyen de placer de nouveaux fichiers sur ces partitions.

Questions connexes