Я разрабатываю программу, которой нужно читать/записывать некоторые файлы с SD-карты или внутренней памяти во время выполнения. Когда я монтирую SD-карту в своем телефоне, она работает правильно, но если я отключаю SD-карту, мое приложение вызывает некоторую ошибку. Что мне делать с телефонами, у которых нет слота для карт, таких как Htc one x, или с телефонами, в которые не вставлена SD-карта? как я могу писать в память этих телефонов? Я не хочу записывать этот файл в папку /data/data/my.app.package. Я хочу написать где-нибудь, что файлы можно читать из других приложений. сначала я проверяю состояние хранилища с помощью этого кода, и если SD-карта вставлена и доступна для записи, у меня нет никаких проблем. но если SD-карта не существует, я действительно не знаю, что мне делать.
string _location;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
_location=Environment.getExternalStorageDirectory()+"/myfolder/";
Toast.makeText(context, _location, 1000).show();
}
else
{
_location="/myfolder/"
Toast.makeText(context, Environment.getExternalStorageDirectory().toString(), 1000).show();
}
mysync mys=new mysync(); // Asynctasc that writes some file on _location path
mys.execute(_location);
Я так смущен и, к сожалению, у меня нет телефона с большой внутренней памятью. пожалуйста, помогите мне.
Environment.getExternalStorageDirectory()
возвращает/mnt/sdcard
где смонтировано мое внутреннее хранилище (не SD-карта) - person coderplus   schedule 22.05.2012