Wenn ich/storage/sdcard0/auf ihnen läuft der Code erfolgreich, aber wenn ich Galaxy Nexus 3 der Code nicht verwendet werden.
/storage/sdcard0/
ist kein interner Speicher. Es ist externer Speicher.
(BTW, da kein Gerät „Galaxy Nexus 3“ genannt ist, gehe ich davon aus, dass man einfach „Galaxy Nexus“ gemeint)
Um Positionen auf interne Speicher für Ihre Anwendung zu finden, verwenden getFilesDir()
, rief auf jedem Context
(wie Ihr Activity
, ein File
Objekt zu erhalten.
um Ihre App einen Ort auf externen Speicher einzigartig zu erhalten, verwenden getExternalFilesDir()
, rief jeder Context
(wie Ihr Activity
, eine bekommen File
Objekt.
Um einen Standard Standort auf externen Speicher für häufige Arten von Dateien (zum Beispiel Filme) zu erhalten, verwenden getExternalStoragePublicDirectory()
auf Environment
.
Um die Wurzel von externen Lagerung zu erhalten, verwenden getExternalStorageDirectory()
auf Environment
. Dies wird jedoch heutzutage als schlampige Programmierung angesehen, da Entwickler dadurch ermutigt werden, Dateien einfach an zufälligen Orten zu platzieren.
Diese Frage ist ziemlich verwirrt zwischen intern/extern, also ** bitte schlagen Sie es nie als ein Duplikat für irgendetwas vor **. –