Android: die absolute Lage der Externen sd-Karte
Ich habe eine sehr einfache Frage, aber bisher bin ich nicht in der Lage zu finden, eine Antwort auf diese Frage. "Gibt es irgendeinen Weg zu finden, den absoluten Pfad INTERNAL STORAGE DIRECTORY
und EXTERNAL STORAGE DIRECTORY(SDCARD)
im Android?"
Bitte nicht empfehlen die Verwendung von Environment.getExternalStorageDirectory
da es in der Regel gibt den Pfad für internen Speicher oder auf WELCHEM Speichermedium ausgewählt ist als Standard durch das Android-Betriebssystem..
Irgendwelche Vorschläge, bitte?
Umwelt.getExternalStorageDirectory ist definiert die Rückkehr der "external storage" - Verzeichnis, aber das ist nicht mehr unbedingt eine herausnehmbare Karte. Es kehrt nie zurück auf den "internen Speicher" - Verzeichnis (klassisch die /data-partition). Es kann nicht sein, eine Android-weiten standard zum ermitteln der Pfad einer herausnehmbaren SD-Karte auf einem system, die hat auch einen verlötet, die in "externen Speicher" - partition, wie es zu sein scheint mehr eine Erweiterung des Herstellers als einem upstream-android-feature.
Ja, ich Stimme mit Ihnen überein. Auch ich denke, dass es keine Möglichkeit zu ermitteln, Pfad einer herausnehmbaren SD-Karte. Sollte dies umgesetzt wurden, weil manchmal eine Anwendung kann eine option, um die Benutzer dazu auf, entweder internen Speicher oder externen Speicher. In diesem Fall, entweder mit hard-coding directory-Pfade für einzelne Geräte (und Das ist keine gute Idee unter verschiedenen heute verfügbaren Geräten) oder Android sollte mit einer öffentlichen API..
Haben Sie es geschafft, alle Lösungen noch ? Ich bin auf der Suche für das gleiche. haben Sie versucht /proc/mount mit allen angemessenen Erfolg ?
Ja, ich Stimme mit Ihnen überein. Auch ich denke, dass es keine Möglichkeit zu ermitteln, Pfad einer herausnehmbaren SD-Karte. Sollte dies umgesetzt wurden, weil manchmal eine Anwendung kann eine option, um die Benutzer dazu auf, entweder internen Speicher oder externen Speicher. In diesem Fall, entweder mit hard-coding directory-Pfade für einzelne Geräte (und Das ist keine gute Idee unter verschiedenen heute verfügbaren Geräten) oder Android sollte mit einer öffentlichen API..
Haben Sie es geschafft, alle Lösungen noch ? Ich bin auf der Suche für das gleiche. haben Sie versucht /proc/mount mit allen angemessenen Erfolg ?
InformationsquelleAutor Farhan | 2011-08-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wurde gefragt, ob die auf dem SO ist, verwenden Sie die Suche. Kurz gesagt, 'externe Speicher' ist mehr wie 'shared storage' und es kann oder kann nicht umgesetzt werden, indem eine tatsächliche SD-Karte. Manche Geräte haben eine zusätzliche SD-Karte, nicht als externer Speicher. Wenn es das ist, was Sie fordern, gibt es derzeit keine öffentliche API für den Zugriff auf den mount-Position, und es variiert zwischen den Geräten. Sie können überprüfen
/proc/mount
um zu sehen, was aktuell gemountet ist, und gehen von dort aus./mnt/sdcard
, aber ist das universal?/mnt/sdcard
ist in der Regel der Pfad zum externen Speicher, aber ich glaube nicht, dass es universal ist. Zusätzliche SD-Karten (wie auf dem Xoom oder Iconia) montiert sind, die einen anderen Platz. Ich habe gesehen, Bezugnahmen auf "sekundäre externe Speicher', aber keine API für die es in der SDK.Ja, in der Geräte wie das Xoom, Galaxy Tab, Asus Tablets, Samsung Galaxy S2 und viele mehr. /mnt/sdcard in der Regel Punkte in den internen Speicher; nicht für externe sd-Karte Lagerung.
Danke Nikolaj für deine Antwort.. ich habe auch festgestellt, dass es derzeit keine öffentliche API für den Zugriff auf die mount-Position einer austauschbaren sd-Karte in Geräten, bei denen getExternalStorageDirectory() gibt den Pfad des internen shared storage. Sieht aus wie ich haben, um zu versuchen, meine eigene Bibliothek 🙂
Versuchen Sie, die /proc/mount-Idee, und suchen Sie nach Einträgen, die Aussehen wie Sie sein könnte, externe storage-volumes - ziemlich groß und unter einem Pfad in der form /mnt* oder (für ältere) /sd*
InformationsquelleAutor Nikolay Elenkov
Dieser link ist aus dem Android-configuration-guide. Ich nehme an, es ist zu empfehlen und ist nicht erforderlich.
https://source.android.com/devices/tech/storage/config-example.html
So, um die SD-Karte, können Sie einfach tun.
EXTERNAL_STORAGE zu sein scheint, auf alles, was auf, die ich besitze.
SECONDARY_STORAGE definiert wurde, auf meinem LG GTab 8.3 und mein Samsung Tab 2&3, ist aber nicht auf meinem Galaxy S (2.3) oder mein Dell Venue (4.3). Auf Samsung Geräten scheint es enthielt mehrere Pfade mit der SD-Karte zuerst, daher der split.
InformationsquelleAutor Dustin
Sollten Sie verwenden
InformationsquelleAutor basicsharp
Denke ich /storage/sdcard0/wird verwendet für die interne sdcard und /storage/sdcard1/wird verwendet für die externe sd-Karte, wenn es zwei Speicher-option vorhanden.
wenn Sie überprüfen eine Datei vorhanden ist, die entweder in jedem der sdcard oder nicht, sollten Sie prüfen Sie alle möglichen Wege.
InformationsquelleAutor Abhishek
String Pfad=ExternalStorageDirectoryPath + "/Ordnername/";
InformationsquelleAutor Saad Asad
Auf dem Samsung Galaxy Note 10.1 2014 edition SM-P600 (und ich würde annehmen, die meisten anderen samsung galaxy-Noten des selben Jahrgangs), den vollständigen Pfad zu der "ECHTEN" externen SD-Karte, ist diese:
/storage/extSdCard/
Ich habe mir mit einem terminal und Tat:
cd /storage/extSdCard/
dann mal in den root von der Karte, ich habe die "ls" Befehl, um die Liste der Dateien, so konnte ich überprüfen, was über ihn gespeichert wurden. Das ist, wie ich habe mir. Hoffe es hilft jemand anderem.
InformationsquelleAutor user271918