làm cách nào để mở tệp đã được lưu trữ trước đó trong hệ thống tệp "privat"? Tệp đang được tải xuống bởi một dịch vụ web và phải được lưu trữ trên fs cục bộ. Tôi gặp lỗi "lạ" khi cố gắng mở tệp qua Intent (Action_View). Mặc dù tệp có trong hệ thống tệp (đã xem tệp trong trình thám hiểm tệp trong trình giả lập/nhật thực) nhưng nó sẽ không được hiển thị trong hoạt động gọi galery được khởi chạy. Thay vì hình ảnh các galery cho thấy một màn hình màu đen không có nội dung trong đó (ngoại trừ thanh hành động). Điều tương tự cũng xảy ra khi cố gắng mở một tập tin pdf/movie/mp3 thông qua phương pháp này (pdf nói ví dụ rằng tập tin bị hỏng).Cách mở tệp trong Android qua Intent
BTW: Các dữ liệu đã được lưu trữ trên fs địa phương là hợp lệ (không tham nhũng), tôi đã tải về các tập tin từ trình gỡ lỗi (thông qua phương pháp kéo) và các tập tin có thể được mở trên máy trạm của tôi ...
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();
}
}
có thể nó http://stackoverflow.com/questions/11068648/launching-an-intent-for-file -and-mime-type/11088980 # 11088980 có thể giúp bạn. – ademar111190