Android 7.0 出现 ”FileUriExposedException“ 和 ”解析包出现错误“ 异常的解决办法
2017-12-06 19:44
561 查看
问题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().
相关文章推荐
- Android7.0及以上android.os.FileUriExposedException,解析安装包出现异常
- 【Android开发错误系列】URLConnection解析URL的UnknownHostException异常解决办法
- ANDROID 7.0 上出现 android.os.FileUriExposedException 异常
- Android webview 遇到android.os.FileUriExposedException错误解决办法
- android重命名包命出现an unexpected exception occured错误的解决办法
- Android 7.0 拍照并显示照片出现"FileUriExposedException"
- Android笔记:Android 7.0 FileUriExposedException 解决
- Android 7.0 FileUriExposedException 解决
- Android 7.0 系统相机崩溃解决android.os.FileUriExposedException
- 解决 Android N 7.0 上 报错:android.os.FileUriExposedException
- android 7.0 抛出 FileUriExposedException异常
- android 7.0系统解决拍照的问题android.os.FileUriExposedException:
- android 7.0读取文件报异常信息 - android.os.FileUriExposedException
- android apk文件在模拟器上运行正常,在真机中出现解析包错误解决办法集锦
- 【适配整理】Android 7.0 调取系统相机崩溃解决android.os.FileUriExposedException
- android手机上安装apk时出现解析包错误的一个解决办法
- android手机上安装apk时出现解析包错误的一个解决办法
- Android 7.0 调取系统相机崩溃解决android.os.FileUriExposedException
- Android笔记:Android 7.0 FileUriExposedException 解决
- android.database.sqlite.SQLiteException: no such table错误出现的原因及解决办法