Я прошел через несколько тем о проблемах записи файлов SDcard, но не смог найти ответ, который помог бы мне.
- Я использовал
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
в моем манифесте для узла.
2. Следующий код создает файл, но не записывает в него. Писатель никогда не выбрасывает исключения. Когда я возвращаюсь к SDCard и вижу, что созданный файл имеет 0 кб. (что связано с функцией createnew)
3. SDCard показывает файл, созданный с этими разрешениями ---- rwxr-x (запись не для других)
4. Поведение одинаково на эмуляторе или устройствах Liek ASUS Pad или на устройствах Acer Iconia.
Как обычные приложения создают файлы с содержимым на SDCard из приложения Android?
if(isExternalStorageWritable()) {
File testFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),Filename);
try {
if (testFile.createNewFile()) {
Log.i(TAG + ": createSdcardFile","Empty file on external storage created");
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
openFileOutput(Filename, MODE_APPEND)));
out.write(Content);
out.close();
Log.i(TAG + ": createSdcardFile","Content to new file created");
created = true;
}
} catch(IOException e) {
Log.e(TAG,"Unable to create/write to new file on external storage. Terminating testCDMReadPositive");
Log.e(TAG,e.getMessage());
}
}
4.Использование режима MODE_WORLD_WRITABLE дает тот же результат, то есть файл 0 КБ на SDCard
5. Любой, кто имеет опыт написания файлов на внешнем хранилище (/ mnt / sdcard), знает, как это сделать. Любая помощь или направление, высоко ценится. Спасибо