As a matter of course in my applications, before I read/write anything to the external storage I check Environment.getExternalStorageState()
I'd always assumed it worked as intended in my applications that occasionally write to the storage, but with my most recent application (which is highly dependent on the storage system), I check this as the application starts and I toast an error to the user if something is wrong (state does not equal MEDIA_MOUNTED).
I'm getting a number of reports from users receiving this error toast due to MEDIA_UNMOUNTED.
BUT, there is no removable sdcard to mount/unmount and most puzzling of all, other applications are using the storage regardless.... Which leaves me to conclude they must be testing this another way?
I've only found one post that may be related to the cause, but if you scroll up to the answer above, there are 13 upvotes for a comment reminding users to check the media is mounted correctly first!
So, I'm confused and wondering if someone is aware of an issue?