Когда вы говорите "это не работает" .... что именно происходит? Вы имеете в виду, что программа работает без жалоб, но файл не записывается на SDCard, или вы имеете в виду что-то еще?
Если файл просто не попадает туда, это не ваша вина, это ошибка производителя телефона. Я видел несколько устройств, которые возвращают "/ mnt / sdcard" из getExternalStorageDirectory (), однако это не совсем путь к sdcard! Например, по крайней мере на одном устройстве Motorola и на Samsung Galaxy Tab (7 дюймов) возвращается / mnt / sdcard, хотя это указывает на внутреннее хранилище, а внешнее хранилище на каждом из этих устройств - / mnt / sdcard-ext .
Нет ничего законного, что вы можете с этим поделать - OEM обманывает вас. Если вы хотите взломать обходной путь, вы можете прочитать / proc / mounts и попытаться найти фактический путь к sdcard, но / mnt / sdcard также будет отображаться там, и не существует гарантированного способа узнать правду все устройства.