前几天在做APP升级的时候发现测试的华为平板下载成功后无法自动安装了,然后换了最新的一加手机,也不行,马上试了小米华为三星等手机,正常可以安装,查了下资料是Android7.0权限的问题引起的。
关于FileUriExposedException 异常的描述是这样子的:
- 针对于权限部分,Android7.0是google推出的对权限做了一个更新即不允许出现以file://的形式调用隐式APP系统,也就是说以前呢,Uri的获取方式是以file://xxx的样式来,那么我们也就是通过Uri.fromFile()来获取如今放在7.0及以上系统呢,这样子就不行
- 如今的解决关键在哪里呢,需要在应用间共享文件,也就是需要发送一项content://URI,并授予 URI 临时访问权限。进行此授权的最简单方式是使用FileProvider类。
1.在AndroidManifest.xml中添加
<provider
android:name="android.support.v4.content.File