Android 7.0以上调用相机报错
android.os.FileUriExposedException: file:///storage/emulated/0/file_image.jpg exposed beyond app through ClipData.Item.getUri()错误
在Application 中加入以下代码为什么就好了 ... 查了以下大家都是这样回复 却不知道为什么 有没有大神知道原理呀
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure();
这是fileprivider没适配的问题7.0以下可以Uri.fromFile();去获取你需要做的是首先声明一个fileprovider
android:name=".MyFileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/path"/>
再配置个路径<pathsxmlns:android="http://schemas.android.com/apk/res/android"><!--"."表示所有路径--><external-pathname="path_files"path="."/>
在通过上面的方法调用就好了只是uri问题其他不变
7.0是通过FileProvider来获取URI的请参考https://blog.csdn.net/liuwei187/article/details/73920750
https://blog.csdn.net/chf1142152101/article/details/54729099
7.0的权限不一样你看楼上的配置就星7.0以后都需要这么搞文档的权限变的不一样了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。