【发布时间】:2018-06-13 22:20:05
【问题描述】:
我正在将 excel 文件保存到设备 (Android 7) 的 storage 中,现在我想要当用户单击按钮时,将打开 excel 文件,但现在单击按钮时,应用程序将崩溃,而当我进入我的存储空间并直接在我的应用程序外部打开文件时,没有问题!如果我在任何代码行中有错误,请帮忙,谢谢
日志:android.os.FileUriExposedException:file:///storage/emulated/0/MessangerApp/MessangerDocuments/139703251134.xlsx 通过 Intent.getData() 暴露在应用程序之外 在 android.os.StrictMode.onFileUriExposed
文件目录:内部存储> MessangerApp > MessangerDoucments >Test.xlsx
这是我的代码:
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + Config.DOC_DIRECTORY_Name + filename);
Uri path = Uri.fromFile(file);
Intent pdfOpenintent = new Intent(Intent.ACTION_VIEW);
pdfOpenintent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
pdfOpenintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
pdfOpenintent.setDataAndType(path, "application/vnd.ms-excel");
view.getContext().startActivity(pdfOpenintent);
}
【问题讨论】: