2016-06-13 12 views
0
File file = new File("/storage/emulator"); 
File[] list = file.listFiles(); 

Liste wird null zurückgegeben. Ich habe bereits die Berechtigung READ_EXTERNAL_STORAGE erhalten. Es gibt einen Pfad wie diesen in diesem Ordner "/storage/emulator/0". Ich versuche, diesen Ordner /0/ zu lesen. Ich kann /storage/emulator/0 mit Environment.getExternalDirectory() zugreifen, aber ich analysiere jede Datei im Android-Speicher. Ich mache es soAndroid: Nicht in der Lage zu lesen/Speicher/emuliert Ordner

String root_sd = System.getenv("ANDROID_STORAGE");  //root_sd = "/storage" 
file = new File(root_sd); 
list = file.listFiles(); 

dann mache ich für jede Datei in Liste Array die gleiche Sache.

Aber aus irgendeinem Grund ist es nicht in der Lage, Verzeichnis von /storage/emulated/ zu lesen. Wie lese ich diesen Speicher?

+1

Was ist der Grund, warum Sie 'Environment.getExternalDirectory()' nicht als Dateipfad verwenden? Da Sie auf den Ordner '/ 0 /' zugreifen können, übergeben Sie diesen Pfad der 'neuen Datei (Pfad)'. – ishmaelMakitla

+0

"Ich analysiere jede Datei im Android-Speicher" - Sie haben keinen Zugriff auf beliebige Speicherorte. – CommonsWare

+0

@ishmaelMakitla SD-Karte ist von/Speicher/SD-Karte zugänglich. Deshalb muss ich alles in/storage – crysis

Antwort

0

Sie können nicht auf den Ordner 0 zugreifen, weshalb er nicht zugänglich ist. Also, um die interne SD-Karte zu öffnen, müssen Sie getexternalstoragedirectory() für Geräte ab api 23 verwenden.

Für Android-Version unter M können Sie auf den Ordner 0 zugreifen.

Für meine leistungsstarke Musik-Player-Anwendung in Android habe ich hart für Android-Versionen M und höher, um in getexternalstoragedirectory() Verzeichnis zu springen, wenn emuliert wird geklickt. Um zu sehen, wie es funktioniert Überprüfen Sie den Link der App: https://play.google.com/store/apps/details?id=ac.themusicplayer

+0

Willkommen bei StackOverflow, überlegen Sie, ob Sie diesen Link NUR als Referenz oder Anleitung einfügen, ohne die Verbindung zu Ihnen, Ihrem Unternehmen oder irgendetwas zu beschreiben, da dies als Werbung angesehen werden könnte. – koceeng

Verwandte Themen