Chemin de fichier SDCard externe pour Android
Est-il vrai que le chemin d'accès à la carte sd externe sur les appareils Android sont toujours "/storage/extSdCard"? Si non, comment de nombreuses variantes sont là?
J'en ai besoin pour mon Application pour tester la disponibilité de externe SDCard.
Je suis à l'aide de Titane, il a une méthode de Titane.Système de fichiers.isExternalStoragePresent( )
mais il retourne toujours vrai même carte sd externe n'est pas monté.
Je pense que c'détecter SDCard au local de stockage ainsi retourner la valeur true. Mais ce que je veux vraiment, c'est de détecter si le physique SDCard est monté ou pas.
Puis-je le faire par la détection de l'existence d'un fichier "/storage/extSdCard" seul?
Grâce.
source d'informationauteur Bowie
Vous devez vous connecter pour publier un commentaire.
Malheureusement, le chemin d'accès pour le stockage externe n'est pas toujours la même selon le fabricant. À l'aide de
Environment.getExternalStorageDirectory()
va vous retourner le chemin normal pour carte SD qui estmnt/sdcard/
. Mais pour les appareils Samsung, par exemple, la carte SD chemin d'accès est sousmnt/extSdCard/
ou sousmnt/external_sd/
.Donc une façon de procéder serait de vérifier l'existence d'un répertoire externe selon le chemin d'accès utilisé par chaque fabricant. Avec quelque chose comme ceci:
Je n'ai pas testé le code, mais l'approche de Dmitriy Lozenko dans ce réponse est beaucoup plus intéressant. Sa méthode retourne le chemin d'accès de tous montés cartes SD sur un système quel que soit le fabricant.
C'est comment j'ai finalement obtenu sdcard chemin à l'aide de :
J'ai eu la solution sur ce bout de 4 jours, Veuillez prendre note des points suivants, tout en donnant le chemin d'accès au Fichier de classe dans Android(Java):
path="/storage/sdcard0/myfile.txt";
path="/storage/sdcard1/myfile.txt";
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
cette même... ou autre chose ...
par exemple:
Je viens de comprendre quelque chose. Au moins pour mon Émulateur Android, j'ai eu la Carte SD Chemin comme ' /stockage/????-???? ' où chaque ? est une lettre majuscule ou un chiffre.
Donc, si /stockage/ répertoire est un répertoire qui est lisible et qui n'est pas le répertoire de stockage interne, ça doit être la Carte SD.
Mon code travaillé sur mon émulateur android!
Si il y a une Carte SD, removableStoragePath aura son chemin. Si il n'y a pas, il sera une chaîne vide.