как я могу открыть файл, который ранее был сохранен в "приватной" файловой системе? Файл загружается через webservice и должен храниться на локальных фсах. У меня возникла "странная" ошибка при попытке открыть файл через Intent (Action_View). Хотя файл присутствует в файловой системе (видел файл в проводнике файлов в эмуляторе /eclipse ), он не будет отображаться в запущенной запущенной работе галереи. Вместо изображения на галерее отображается черный экран, в котором нет содержания (кроме панели действий). То же самое происходит при попытке открыть файл pdf/movie/mp3 с помощью этого метода (например, в pdf говорится, что файл поврежден).
BTW: данные, которые были сохранены на локальном fs, действительны (не повреждены), я загрузил файлы из отладчика (методом pull) и файлы можно открыть на моей рабочей станции...
public void onAttachment(Context context, Attachment attachment) {
try {
//Attachment is a structured data object that contains of a byte[], filename and mimetype (like image/jpeg)
FileOutputStream fos = FileOutputStream fos = context.openFileOutput(attachment.getAttachmentFileName(), Context.MODE_PRIVATE);
fos.write(attachment.getBinary());
fos.flush();
fos.close();
File f = context.getFileStreamPath(attachment.getAttachmentFileName());
Uri uri = Uri.fromFile(f);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri,attachment.getAttachmentMimetype());
context.startActivity(intent);
} catch (IOException e) {
e.printStackTrace();
}
}