Wie kann ich eine Datei öffnen, die zuvor im "privaten" Dateisystem gespeichert wurde? Die Datei wird von einem Webservice heruntergeladen und sollte auf lokalen fs gespeichert werden. Ich habe einen "seltsamen" Fehler beim Versuch, die Datei über eine Absicht (Action_View) zu öffnen. Obwohl die Datei im Dateisystem vorhanden ist (die Datei im Datei-Explorer im Emulator/Eclipse), wird sie in der aufrufenden Galerieaktivität, die gestartet wird, nicht angezeigt. Anstelle des Bildes zeigt die Galerie einen schwarzen Bildschirm mit nicht Inhalt (außer der Aktionsleiste). Das gleiche passiert, wenn Sie versuchen, eine PDF/Film/MP3-Datei über diese Methode zu öffnen (pdf sagt zum Beispiel, dass die Datei beschädigt ist).So öffnen Sie eine Datei in Android über eine Absicht
BTW: Die Daten, die auf dem lokalen fs gespeichert wurden, gültig ist (nicht korrupt), die ich heruntergeladen hat die Dateien aus Debugger (über Pull-Methode) und die Dateien können auf meiner Workstation geöffnet werden ...
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();
}
}
vielleicht Einstellung es http://stackoverflow.com/questions/11068648/launching-an-intent-for-file -und-Mime-Typ/11088980 # 11088980 kann helfen. – ademar111190