问题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“ 和 ”解析包出现错误“ 异常的解决办法的更多相关文章

  1. Tomcat 7.0.3x 启动慢并且遇到StackOverflowError的异常的解决办法

    http://qiuboboy.iteye.com/blog/1853216 使用tomcat 7.0.3x版本的同学可以发现tomcat启动慢了不少,而且还可能遇到如下启动时异常: Unable t ...

  2. android开发找不到模拟器(PANIC: Could not open:)解决办法

    android开发找不到模拟器(PANIC: Could not open:)解决办法   2013/4/3 17:44:15 0人评论 213次浏览 分类:android开发 在系统环境变量设置名为 ...

  3. android studio 错误汇总以及解决办法

    android studio 错误汇总以及解决办法  参考 https://www.jianshu.com/p/7c7de6562231 问题1. Error:Execution failed for ...

  4. 【转载】Android Gradle Build Error:Some file crunching failed, see logs for details解决办法

    Android Gradle Build Error:Some file crunching failed, see logs for details解决办法 转载请标明出处: http://www. ...

  5. IIS 发布ASP.NET MVC 4.0 错误500.21解决办法

    由VS2013 写好的MVC 4.0 发布在服务器IIS 上报错500.21,解决办法:尝试多种网上介绍的办法,最后发现还是模块问题.

  6. Android 常见异常及解决办法

    Ø  前言 本文主要记录 Android 的常见异常及解决办法,以备以后遇到相同问题时可以快速解决. 1.   java.lang.NullPointerException: Attempt to i ...

  7. 【转】Android Fragment中使用SurfaceView切换时闪一下黑屏的解决办法

    重构了下之前自己的一个新闻客户端,全部使用了Fragment来进行页面切换,只有一个入口Activity作为程序的启动Activity,其中有一个界面需要调用摄像头识别二维码, 于是就会用到Surfa ...

  8. 添加Chrome插件时出现“程序包无效”等问题的解决办法

    相较之各大浏览器,我最喜欢的便是Chrome了,不只因为Chrome搜索,也因为Google Chrome强大的插件功能. 而这一切的东风,就是"谷歌访问助手". 谷歌访问助手的下 ...

  9. Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法

    转: Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法  更新时间:2018年02月14日 17:13:03   投稿:wdc   我要评论   Java开发中 ...

随机推荐

  1. Java读取并下载网络文件

      CreateTime--2017年8月21日10:11:07 Author:Marydon import java.io.ByteArrayOutputStream; import java.io ...

  2. 转 Linux下Nginx+PHP+MySQL配置

    Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定.低系统资源消耗而闻名,近几年Ng ...

  3. windows下命令行终端使用rz上传文件参数详解

    rz命令: (X) = option applies to XMODEM only (Y) = option applies to YMODEM only (Z) = option applies t ...

  4. NTCPMSG 开源高性能TCP消息发送组件

    https://www.cnblogs.com/eaglet/archive/2013/01/07/2849010.html 目前的.net 架构下缺乏高效的TCP消息发送组件,而这种组件是构建高性能 ...

  5. 转:TCP/IP协议栈的基本工作原理

    转载自:http://jasonccie.blog.51cto.com/2143955/422966 TCP/IP是互联网的核心协议,也是大多数网络应用的核心协议.就前面一段时间面试中问到的TCP/I ...

  6. Linux实例安装VNC Server实现图形化访问

    引自阿里云: https://help.aliyun.com/knowledge_detail/41530.html

  7. httpclient获取响应实体和信息的封装方法(解耦更新)

    转自:https://blog.csdn.net/fhaohaizi/article/details/77850302 2018年07月19日更新,主要是解耦之后方法很多地方发生了变化,httpcli ...

  8. 详解iOS多图下载的缓存机制

    1. 需求点是什么? 这里所说的多图下载,就是要在tableview的每一个cell里显示一张图片,而且这些图片都需要从网上下载. 2. 容易遇到的问题 如果不知道或不使用异步操作和缓存机制,那么写出 ...

  9. react.js 测试

    <html>    <head>        <title>hellow</title>        <script src="ht ...

  10. Android上实现MVP模式的途径

    今天我想分享我在Android上实现MVP(Model-View-Presenter)模式的方法.如果你对MVP模式还不熟悉,或者不了解为什么要在Android应用中使用MVP模式,推荐你先阅读这篇维 ...