Android N中的Android android.os.FileUriExposedException错误[重复]

Posted

技术标签:

【中文标题】Android N中的Android android.os.FileUriExposedException错误[重复]【英文标题】:Android android.os.FileUriExposedException Error in Android N [duplicate] 【发布时间】:2019-01-05 20:34:04 【问题描述】:

我在 Orders 文件夹的外部存储中有图像,并且我正在尝试使用 Intent 将图像共享给外部应用程序

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Orders");
String filename = "OrderID.jpg";
File file = new File(file,filename);
  Intent intent = new Intent(Intent.ACTION_SEND);
  intent.setType("image/*");
                intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
 intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file));
                try 
                     startActivity(intent);
                 catch (android.content.ActivityNotFoundException ex) 

                

我已授予加载应用程序本身的存储权限,但每次应用程序崩溃时我都会获得权限

ndroid.os.FileUriExposedException: file:///storage/emulated/0/Orders/OrderID.jpg exposed beyond app through ClipData.Item.getUri()

谁能帮我解决这个问题? 我在谷歌上关注了很多帖子,但没有用

android.os.FileUriExposedException: file.jpg exposed beyond app through ClipData.Item.getUri()

https://github.com/react-native-community/react-native-share/issues/185

https://github.com/tungdx/android-media-picker/issues/11

https://github.com/MLSDev/RxImagePicker/issues/13

【问题讨论】:

检查答案。 【参考方案1】:

当您想将文件共享给其他应用时,您必须使用 FileProvider

检查https://developer.android.com/training/secure-file-sharing/setup-sharing。

使用 FileProvider.getUriForFile 在您的代码中获取 Uri 而不是 Uri.fromFile(file)

FileProvider.getUriForFile(this,"your_package.fileprovider",photoFile);

【讨论】:

@Man.i 已经 当您想将文件共享到其他应用程序时,我接受了 FileProvider 线索的答案。

以上是关于Android N中的Android android.os.FileUriExposedException错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

(androis studio)app连连看demo练习

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com/google/androi

java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Androi

从 Android 中的某个位置访问文件

Android Studio中的混淆

基于androi的医院挂号预约系统app