2016-08-28 4 views
0

Ich benutze Bluestacks zum Testen meiner App, weil ich keine Androiden herumliegen habe. Ich versuche, eine Datei auf die SD-Karte zu schreiben, aber ich finde den Pfad dazu nicht heraus. Ich habe das folgende versucht: /mnt/sdcard/ext_sd & /mnt/extSdCard aber keiner von denen arbeitete.SD Card Location auf Android

Antwort

0

Ich habe versucht, die folgenden: /mnt/sdcard/ext_sd & /mnt/extSdCard aber keiner von denen gearbeitet.

Sie sollten Pfade nicht fest codieren. Der Speicherort oder Pfad der SD-Karte variiert von Telefon zu Telefon. SD-Karten-Speicherplatz in meinem Telefon ist /storage/sdcard1

Nun zu Ihrer Frage kommen,

Bevor API-Ebene 19 gab es keine offizielle API method in SD-Karte zu speichern. Aber viele könnten dies mit inoffiziellen Bibliotheken oder APIs tun.

Offiziell wurde eine Methode (getExternalFilesDirs) in Context Klasse in API-Ebene 19 (Android-Version 4.4 - Kitkat) eingeführt.

File[] getExternalFilesDirs (String type) 

Es gibt absolute Pfade zu anwendungsspezifische Verzeichnissen auf alle shared/externen Speichergeräte, wo die Anwendung persistente Dateien, die er besitzt platzieren können. Diese Dateien sind intern für die Anwendung und für den Benutzer normalerweise nicht als Medien sichtbar.

Das bedeutet, es wird Pfade zu beiden Arten zurückgeben Speicher - Interner Speicher und Micro SD-Karte. Im Allgemeinen zweiten zurückgegebenen Pfad wäre Speicherpfad der Micro-SD-Karte (aber nicht immer). Sie müssen es also überprüfen, indem Sie den Code mit dieser Methode ausführen.

Anstelle der Hardcoding-Pfade sollten Sie diese Methode in Ihrem App-Quellcode verwenden, um den Speicherort der SD-Karte zu ermitteln. Schreiben Sie dann Dateien an diesen Speicherort.

Wenn Sie mehr über Lagerort oder Pfade in Android wissen möchten, gehen Sie bitte über my other answer

+0

Vor API 19, die offizielle Weg war '/ sdcard'. Sie können es immer noch auf neueren Telefonen verwenden (aus Gründen der Abwärtskompatibilität), wo es sich um einen symbolischen Link zum realen Standort handelt. – StenSoft

+0

@StenSoft Ich meinte, dass es vor API 19 keine offizielle API-Methode gab. Wie auch immer, danke, dass Sie darauf hingewiesen haben. Ich habe meine Antwort aktualisiert, um diese Verwirrung zu vermeiden :) – AnV