Quando uso/stoccaggio/sdcard0/su di loro il codice viene eseguito con successo ma quando uso Galaxy Nexus 3 del codice non riesce.
/storage/sdcard0/
non è una memoria interna. È una memoria esterna.
(a proposito, poiché non v'è nessun dispositivo chiamato "Galaxy Nexus 3", io parto dal presupposto che si intende semplicemente "Galaxy Nexus")
per trovare le posizioni su interna archiviazione per la vostra applicazione, utilizzare getFilesDir()
, chiamato su qualsiasi Context
(come il tuo Activity
, per ottenere un oggetto File
.
per ottenere una posizione sul esterna archiviazione unica per la vostra applicazione, utilizzare getExternalFilesDir()
, ha invitato tutte le Context
(come il tuo Activity
, per ottenere un File
oggetto.
Per ottenere una posizione serie su esterna archiviazione per comuni tipi di file (ad esempio, film), utilizzare getExternalStoragePublicDirectory()
su Environment
.
Per ottenere radice di esterna stoccaggio, utilizzare getExternalStorageDirectory()
su Environment
. Questo, tuttavia, è considerato una programmazione sciatta al giorno d'oggi, in quanto incoraggia gli sviluppatori a inserire file in posizioni casuali.
Questa domanda è abbastanza confusa tra interno/esterno, quindi ** si prega di non proporlo mai come duplicato per qualsiasi cosa **. –