Pourquoi getExternalFilesDirs() ne fonctionne pas sur certains appareils?

Mon application tourne sous Android 5.0. J'utilise la méthode getExternalFilesDirs() pour vérifier si la carte SD externe est disponible. Si elle renvoie plus de 1 File, que signifie la carte SD externe existe.

Mais sur certains appareils (par exemple Elephone G2), la méthode getExternalFilesDirs() ne renvoie qu'un seul répertoire de stockage principal. Je suis sûr que l'appareil a carte SD externe (/storage/sdcard1/).

Quelqu'un peut-il me donner la réponse?

  • Sans doute, le fabricant de l'Elephone décidé de ne pas permettre aux développeurs d'avoir accès à un support amovible. Ou, peut-être ils ont foiré lors de la configuration de leur ROM.
  • Il devrait être la réponse. Je ne comprends vraiment pas pourquoi getExternalFilesDirs() ne fonctionne pas. Il fonctionne sur presque périphériques.
  • Avez-vous des android.la permission.WRITE_EXTERNAL_STORAGE dans votre AndroidManifest.xml fichier?
  • Bien sûr que oui. Comme je l'ai dit, il fonctionne sur presque périphériques.
  • on dirait que vous stumled sur une moitié vendeur ROM :/
  • Oui ça arrive à beaucoup de kitkat appareils. Essayez System.getenv("EXTERNAL_STORAGE"); et System.getenv("SECONDARY_STORAGE");.
  • Il arrive même, sur certains Sucette appareils.
  • J'ai essayé avec System.getenv("EXTERNAL_STORAGE") et il est retourné /storage/emulated/legacy. Quel est-il? Dans mon appareil, j'ai /storage/sdcard1. Ils sont différents dossiers.
  • J'ai hâte de commentaire jusqu'à ce que vous avez essayé l'un avec stockage secondaire trop. Pour le reste, il semble que si vous n'avez jamais parcouru avec un explorateur de fichiers de l'application sur votre appareil, car ensuite, vous savez ces chemins.

InformationsquelleAutor TOP | 2015-10-26