"privat"ファイルシステムに以前に保存されたファイルを開くにはどうしたらいいですか?ファイルはWebサービスによってダウンロードされており、ローカルファイルに保存する必要があります。 インテント(Action_View)を介してファイルを開こうとしたときに「奇妙な」エラーが発生しました。ファイルはファイルシステムに存在しますが(エミュレータ/ eclipseのファイルエクスプローラでファイルを見た)、起動されたガーリーアクティビティには表示されません。写真の代わりに、ギャラリは黒い画面を表示します(アクションバーを除く)。この方法でpdf/movie/mp3ファイルを開こうとすると同じことが起こります(たとえば、ファイルが壊れているなど)。インテントでAndroidでファイルを開く方法
はところで:ローカルFSに格納されているデータは(壊れない)有効で、私は(プル方式を経由して)デバッガからファイルをダウンロードしたファイルは私のワークステーション上で開くことができます...
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();
}
}
多分それhttp://stackoverflow.com/questions/11068648/launching-an-intent-for-fileを参照してくださいに設定するときに保存された(でも閲覧用)のデータを読み取ることができません-and-mime-type/11088980#11088980が役に立ちます。 – ademar111190