当我尝试打开文件时,该应用程序崩溃了。它在Android Nougat下工作,但在Android Nougat上它崩溃了。只有当我尝试从SD卡打开文件时,它才会崩溃,而不是从系统分区。一些权限问题?
示例代码:
File file = new File("/storage/emulated/0/test.txt");Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(file), "text/*");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent); // Crashes on this line
日志:
android.os.异常:文件:///存储/模拟/0/test.txt暴露超出应用程序通过Intent.get数据()
编辑:
针对Android Nougat时,不再允许file://
URI。我们应该使用content://
URI代替。但是,我的应用程序需要在根目录中打开文件。有什么想法吗?