¿cómo puedo abrir un archivo que haya sido previamente almacenado en el sistema de archivos "privado"? El archivo está siendo descargado por un servicio web y debe almacenarse en archivos fs locales. Recibí un error "extraño" cuando intento abrir el archivo a través de una intención (Action_View). Aunque el archivo está presente en el sistema de archivos (vio el archivo en el explorador de archivos en emulator/eclipse) no se mostrará en la actividad de la galería de llamadas que se inicia. En lugar de la imagen, la galería muestra una pantalla negra sin contenido (excepto la barra de acciones). Lo mismo ocurre cuando se intenta abrir un archivo pdf/película/mp3 a través de este método (el pdf dice, por ejemplo, que el archivo está dañado).Cómo abrir un archivo en Android a través de un Intento
BTW: Los datos que se han almacenado en el sistema de ficheros locales es válida (no corrupto), he descargado los archivos del depurador (a través del método de extracción) y los archivos se pueden abrir en mi estación de trabajo ...
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();
}
}
tal vez http://stackoverflow.com/questions/11068648/launching-an-intent-for-file -y-mime-type/11088980 # 11088980 puede ayudar. – ademar111190