Android Getting External Storage Absolute Path
Solution 1:
When I use /storage/sdcard0/ on them the code runs successfully but when I use Galaxy Nexus 3 the code fails.
/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 any Context
(such as your Activity
, to get a File
object.
To get a location on external storage unique for your app, use getExternalFilesDir()
, called on any Context
(such as your Activity
, to get a File
object.
To get a standard location on external storage for common types of files (e.g., movies), use getExternalStoragePublicDirectory()
on Environment
.
To get the root of external storage, use getExternalStorageDirectory()
on Environment
. This, however, is considered sloppy programming nowadays, as it encourages developers to just put files in random locations.
Solution 2:
why can't you use Environment.getExternalStorageDirectory()
for getting /storage/sdcard0/
path from code ?
need to add permissions as well
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Solution 3:
The solution found is 1st edit the emulator:
- Go to Android Virtual Device Manager and then edit the emulator
- Set say 100 MB for SD d card for the respected emulator, say Ok
- Save and close emulator and start
It worked for me, the app is no longer giving an error and is working fine.
Post a Comment for "Android Getting External Storage Absolute Path"