Android 7.0 出现 ”FileUriExposedException“ 和 ”解析包出现错误“ 异常的解决办法...
问题1 :android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.xxx.xxx.xxx.release/files/Download/2017120600.apk exposed beyond app through Intent.getData()
问题2 : 已经做了 Android 7.0 的 FileProvider 的适配,但是在应用内下载升级的时候提示 ”解析包出现问题“ .
- 以上两个问题,都是 Android 7.0 适配的问题。
- 问题1 : 没有做 Android 7.0 的适配,做了适配就没有这个错误了
- 问题2 : 在适配的时候,XML 文件中的 PATHS 写的不正确。造成获取到的 Uri 是错误的,因为提示解析包出现问题。只要正确的路径就没有问题。
- FileProvider 继承 ContentProvider。肯定是以
conent://com.xxx.xxx/
开头的, 其中com.xxx.xxx
是应用的包名。所以使用 FileProvider 与使用 ContentProvider 一样的。 - 注意点:注意路径,在 XML 的 PATHS 中写入了路径,每次会把这些路径读取到内存,然后使用 FileProvider 的时候会对传入的 file 做路径的匹配,匹配成功了,就可以正确的使用文件了。匹配不成功,会出现异常。所以在 XML 的 PATH 的时候注意根据自己所在文件的路径填写正确。以下列表是不同目录的 PATH:
使用中注意在 XML 文件中的路径的填写,填写错误的话,会无法访问到该路径。
- files-path : Context.getFilesDir().
- cache-path : getCacheDir().
- external-path : Environment.getExternalStorageDirectory().
- external-files-path : Context#getExternalFilesDir(String) Context.getExternalFilesDir(null).
- external-cache-path : Context.getExternalCacheDir().
参考:http://blog.csdn.net/yy1300326388/article/details/52787853
FileProvider : https://developer.android.com/reference/android/support/v4/content/FileProvider.html
Android 7.0 出现 ”FileUriExposedException“ 和 ”解析包出现错误“ 异常的解决办法...相关推荐
- 关于Android 6.0 刷入gapps 显示“设置向导”已停用的解决办法
刷完Gapps后开机用数据线连接电脑,开启USB调试(debugg)模式 要安装好adb驱动,使用adb命令 打开命令行(cmd) 输入: adb root adb remount adb shell ...
- mysql包1166_mysql 错误:1166 解决办法
Mysql5.6 make 错误以及解决办法 1.若make出现类似错误: CMake Error: CMake was unable to find a build program correspo ...
- Android电视kodi安装失败,电视提示“解析包出现错误” ?四种方法教你轻松解决...
原标题:电视提示"解析包出现错误" ?四种方法教你轻松解决 日常生活中,我们经常会遇到智能电视提示:解析包时出现错误.遇到这样的问题,不要抓狂,小智教你轻松解决. 首先,我们要清楚 ...
- 安装sqli-labs出现错误_【沙发管家】智能电视安装APK时“解析包出现错误”如何解决?...
很多用户在看电视的时候都会遇到智能电视&机顶盒安装软件过程中,偶尔会遇到解析包出现错误的提示,小编就向技术人员咨询,究竟是什么原因会造成解析包错误的情况,今天小编搜集了相关资料帮助大家解答,整 ...
- apk解析包出现错误、9:01 Generate Signed APK: Errors while building APK. You can find the errors in the ‘M
apk解析包出现错误.9:01 Generate Signed APK: Errors while building APK. You can find the errors in the 'M ...
- 【Android】高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法
[Android]高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法 来源: https://blog.csdn.net/weixin_39370093/article/deta ...
- android+点击屏幕隐藏键盘,Android点击EditText文本框之外任何地方隐藏键盘的解决办法...
1,实现方法一: 通过给当前界面布局文件的父layout设置点击事件(相当于给整个Activity设置点击事件),在事件里进行键盘隐藏 android:id="@+id/traceroute ...
- android studio 新建工程慢,关于AndroidStudio新建与编译项目速度慢解决办法
android第一次新建项目是,相关依赖包需要下载很久,至少半小时,因为网速问题,还会多次下载失败. 解决办法如下: 1.通过镜像将gradle-5.4.1-all.zip下载到本地:解压到文件夹:D ...
- springboot依赖lib外置打成压缩包,以及snapshot依赖jar包ClassNotFoundExcepttion异常的解决办法
springboot依赖lib外置打成压缩包,以及snapshot依赖jar包ClassNotFoundExcepttion异常的解决办法 mvn插件 assembly压缩zip assembly.x ...
最新文章
- Python中有用的字符串方法
- wince 6.0 嵌入式开发指导
- 虚拟机和java虚拟机
- elasticsearch 二、elasticsearch-head安装
- 布朗语料库中不同部分的情态动词频率直方图绘制的代码详细解释
- BeanUtils的学习
- eclipse一套全部流程的安装及配置
- Mapillary发布世界最大交通标志数据集,用于自动驾驶研究
- android分析之Binder 01
- c# 计算圆锥的体积_急求用c#计算圆柱体和圆锥体的体积的代码,下面是要求:
- squid安装和配置(centos6.5)
- 使用JsonCpp实现JSON文件读写操作的方法
- hdu1243 最长公共子序列(LCS)
- Cadence OrCAD Capture TCL/TK脚本实例
- 刻录软件nero序列号有效性的检测
- 查询数据库中所有列名
- X86服务器及“机架、塔式、刀片”三类服务器分类
- 职场一些办公技能和技巧总结
- A Piece of ODE
- 今日头条、抖音创始人张一鸣