Ich möchte einige Dateien herunterladen und sie im internen Speicher des Telefons / Tab speichern. Auf Samsung Galaxy Note 2 und Galaxt Tab 10.1 versucht. Wenn ich /storage/sdcard0/
für sie verwende, wird der Code erfolgreich ausgeführt, aber wenn ich Galaxy Nexus 3
verwende, schlägt der Code fehl.
Ich möchte den absoluten Pfad des internen Speichers des Phio oder Tabs ' Absolute Path
' erhalten.
Ist es möglich, wenn ja wie?
Wenn ich / storage / sdcard0 / darauf verwende, läuft der Code erfolgreich, aber wenn ich Galaxy Nexus 3 benutze, schlägt der Code fehl.
/storage/sdcard0/
ist kein interner Speicher. Es ist externer Speicher.
(Da es kein Gerät namens "Galaxy Nexus 3" gibt, nehme ich an, dass du einfach "Galaxy Nexus" meintest)
Um nach Orten auf internem Speicher für Ihre App zu suchen, verwenden Sie getFilesDir()
, aufgerufen für Context
(z. B. Activity
, um ein File
-Objekt zu erhalten.
Um einen Speicherort auf externem Speicher zu erhalten, der für Ihre App einzigartig ist, verwenden Sie getExternalFilesDir()
, aufgerufen für Context
(z. B. Activity
, um ein File
Objekt zu erhalten.
Um einen Standard Speicherort für externe Speicher für gängige Dateitypen (z. B. Filme) zu erhalten, verwenden Sie getExternalStoragePublicDirectory()
für Environment
.
Um den Stamm von externem Speicher zu erhalten, verwenden Sie getExternalStorageDirectory()
für Environment
. Dies wird jedoch heutzutage als schlampige Programmierung angesehen, da Entwickler dadurch ermutigt werden, Dateien einfach an zufällige Orte zu stellen.
Die gefundene Lösung ist 1. Bearbeiten Sie den Emulator:
Es hat für mich funktioniert, die App gibt keinen Fehler mehr und funktioniert gut.