Comment savoir si la carte sd est montée dans Android?
Je travaille sur une application Android qui a besoin de regarder ce que les images d'un utilisateur a stocké. Le problème est que si l'utilisateur a la sdcard monté via le câble USB, je ne peux pas lire la liste des images sur le disque.
Personne ne sait d'une manière de savoir si l'usb est monté de telle sorte que je pouvais juste pop up un message informant l'utilisateur qu'il ne fonctionne pas?
Juste pour mémoire, en branchant le câble USB n'est pas la seule façon d'obtenir la sdcard volume démonté - désinstallation de la carte dans les paramètres de stockage ou de retirer physiquement la carte va le faire aussi. Aussi, les 8 go de sdcards fourni par t-mobile au royaume-uni ne sont pas correctement formaté de la sorte parce que de I/O ils ont obtenu démonté tous les temps, tant qu'ils ne sont pas reformaté correctement. Je dis simplement que parce que parfois, juste en indiquant à l'utilisateur de débrancher le câble n'est pas assez.
OriginalL'auteur KFB | 2009-05-23
Vous devez vous connecter pour publier un commentaire.
Si vous essayez d'accéder à des images sur l'appareil, la meilleure méthode est d'utiliser le MediaStore fournisseur de contenu. Accèdent en tant que fournisseur de contenu vous permettra d'interroger les images qui sont présents, et la carte
content://
Url de filepaths sur l'appareil le cas échéant.Si vous avez encore besoin pour accéder à la carte SD, l'application de l'Appareil photo comprend un ImageUtils classe qui vérifie si la carte SD est montée comme suit:
Où est la méthode
checkFsWritable();
?Avons-nous besoin de
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
à faire, il travaille sur de stockage externe?Trouver checkFsWritable() ici :- stackoverflow.com/a/11112451/1448316
OriginalL'auteur jargonjustin
Ici est la checkFsWritable de fonction manquant dans
jargonjustin
postOriginalL'auteur kakopappa
Je m'excuse pour l'affichage d'un non-Android manière de faire ceci, j'espère que quelqu'un peut apporter une réponse à l'aide de l'API Android.
Vous pourriez obtenir la liste des fichiers sur la racine de la carte sd. Si il n'y a aucun, la carte sd est entièrement vide (rare, mais possible) ou il est démonté. Si vous essayez de créer un fichier vide sur la carte sd et il échoue, cela signifie que vous essayez de créer un fichier dans le point de montage de la carte sd qui serait refusé en raison d'un problème d'autorisations, de sorte que vous savez de la carte sd n'a pas été monté.
Oui, je sais, c'est moche....
OriginalL'auteur Neil Trodden
OriginalL'auteur Harinder
J'ai été en utilisant le curseur pour récupérer les images de la carte sd et quand aucune carte sd a été insérée dans l'appareil, le curseur a été nulle.
En fait ce qui est le cas lorsque la sdcard volume a été démonté par le retrait physique de la carte à partir de l'appareil. C'est le code que j'ai utilisé:
Plus d'infos: http://developer.android.com/guide/topics/media/mediaplayer.html#viacontentresolver
OriginalL'auteur Paul
Avant de vous faire tout le travail avec l'appareil de stockage externe, vous devriez toujours faire appel à getExternalStorageState() pour vérifier si le support est disponible. Les médias peuvent être montés sur un ordinateur, manquant, en lecture seule, ou dans un autre état. Par exemple, ici sont un couple de méthodes que vous pouvez utiliser pour vérifier la disponibilité:
source:
http://developer.android.com/guide/topics/data/data-storage.html
OriginalL'auteur Mahmoud Shahoud
Sur jargonjustin du post:
Fichier ImageManager.java
OriginalL'auteur KitKat
OriginalL'auteur Sam