Some tablets don't have SD card (http://www.gsmarena.com/samsung_galaxy_tab_10_1_3g-3892.php). When I want stored map to be read I just create path with Environment.getExternalStorageDirectory()+ some string, but how to create path when there isn't SD card, only internal memory. I didn't find any api to do this. All I need is a root of internal memory, and does we have rights to create folder in root of internal memory and then put files in that folder for stored map. I don't have tablets to experiment so if someone know please post.
I was thinking that every Android has SD card(removabel), then I saw that this is no truth. There are a small number of tablets which don't have external memory.
So, for end users who has SD card(removabel) they will put map tiles in SD card/app name, and with getExternalStorageDirectory()+"/app name" I can set path. getExternalStorageDirectory() return path to root of External Storage(SD card). And that is OK. But where to put map tiles if there isn't SD card(removabel) and how to get path. I don't have tablets so I am wondering how to instruct end users to set map tiles on there tablets. All I need is path and how to instruct end users for setting maps because I don't have tablets to experiment. What will return getExternalStorageDirectory() on tablets with internal memory?
According to my experience the tablets without removable SD card have internal storage, and getExternalStorageDirectory() gives then internal storage path. Which at least some devices what I have tried is /mnt/sdcard or /sdcard, just if device would have SD card.
So: you can always just use getExternalStorageDirectory()+"/appname" and I would assume it works fine in all tablets. If it does not - let me know.
This device should also return something usable with this getExternalStorageDirectory() method, or have you had real issues there?
E.g. Xoom also does not have (removabel) SD card, but it even has /mnt/sdcard folder, which just points to the internal SD card.
/JaakL