I want to download some files and save them into the internal storage of the phone/tab. Tried on Samsung Galaxy Note 2 and Galaxt Tab 10.1. When I use /storage/sdcard0/
on them the code runs successfully but when I use Galaxy Nexus 3
the code fails.
I want to get absolute path of the phoe or tab's internal storage' Absolute Path
.
Does it possible, if so how?
The solution found is 1st edit the emulator:
It worked for me, the app is no longer giving an error and is working fine.
/storage/sdcard0/
is not internal storage. It is external storage.(BTW, since there is no device named "Galaxy Nexus 3", I am assuming that you simply meant "Galaxy Nexus")
To find locations on internal storage for your app, use
getFilesDir()
, called on anyContext
(such as yourActivity
, to get aFile
object.To get a location on external storage unique for your app, use
getExternalFilesDir()
, called on anyContext
(such as yourActivity
, to get aFile
object.To get a standard location on external storage for common types of files (e.g., movies), use
getExternalStoragePublicDirectory()
onEnvironment
.To get the root of external storage, use
getExternalStorageDirectory()
onEnvironment
. This, however, is considered sloppy programming nowadays, as it encourages developers to just put files in random locations.why can't you use
Environment.getExternalStorageDirectory()
for getting/storage/sdcard0/
path from code ?need to add permissions as well