Ich versuche, etwas auf meinem Android-Gerät auf die ExternalStorageDirectory
zu schreiben. Um dies zu testen, habe ich versucht, einen einfachen Ordner in diesem Verzeichnis zu erstellen. Da es nicht funktioniert hat bin ich über this stackoverflow thread gestolpert. Als ich die meisten upvoted BeispielcodeOrdner im ExternalStorage erstellen
File folder = new File(Environment.getExternalStorageDirectory() + "/map");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
if (success) {
// Do something on success
} else {
// Do something else on failure
}
verwenden und stellen Sie die givven WRITE_EXTERNAL_STORAGE
Genehmigung wird die Erstellung des Ordners immer versagt - es gibt keine Ausnahme, aber nach der Ausführung f.exists()
ist noch false
. Ich testete dies auf meiner Nexus 5X
und der neuesten Nexus 5X-Emulator
.
Im Emulator Environment.getExternalStorageState()
gibt not-mounted
zurück, obwohl ich die virtual SD-card
montiert (das scheint mir auch seltsam). In meinem physischen Gerät gibt es zurück - so sehe ich kein Problem, warum der Code nicht funktionieren sollte.
Alle Ratschläge für die Lösung des Fehlers der Erstellung des Ordners und/oder das Verhalten der Environment.getExternalStorageState()
sind willkommen.
https://stackoverflow.com/questions/32635704/android-permission-doesnt-work
und erstellen Sie Ordner hinzufügen -even-wenn-ich-habe-deklariert-es – CommonsWare
Danke, dieser Beitrag löste es vollständig. – FlashTek