最近项目Android编译版本改为targetSdkVersion26, 之前隐藏的版本问题暴露出来, 尤其是文件第三方打开及Apk更新问题,这里记录下7.0以后文件相关问题

问题描述:安装apk的代码一般写法如下,网上随处可以搜到:

public static void installApk(Context context, File file) {  Intent intent = new Intent(Intent.ACTION_VIEW);      Uri data = Uri.fromFile(file);      intent.setDataAndType(data, "application/vnd.android.package-archive");      context.startActivity(intent);  }

然而,当我们在Android7.0手机中执行时,会发现报如下错误日志

Caused by: android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/net.csdn.blog.ruancoder/cache/test.apk exposed beyond app through Intent.getData()     at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799)     at android.net.Uri.checkFileUriExposed(Uri.java:2346)     at android.content.Intent.prepareToLeaveProcess(Intent.java:8933)     at android.content.Intent.prepareToLeaveProcess(Intent.java:8894)     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1517)     at android.app.Activity.startActivityForResult(Activity.java:4224)     at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)     at android.app.Activity.startActivityForResult(Activity.java:4183)     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)     at android.app.Activity.startActivity(Activity.java:4507)     at android.app.Activity.startActivity(Activity.java:4475)

android7.0uri,整理: 解决Android7.0以上文件报FileUriExposedException问题相关推荐

  1. win10解决koala编译sass文件报错

    ## win10解决koala编译sass文件报错 使用koala编译sass文件时报错invalid byte sequence in utf-8 use --trace for backtrace ...

  2. 解决pip安装whl文件报错问题

    问题描述 1.问题一 pip安装whl文件报错,提示: ERROR: tensorflow-1.13.1-cp37-cp37m-linux_x86_64-gcc8.whl is not a suppo ...

  3. 解决python偶尔读文件报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode bytes in position 1022-1023: unex....

    完整报错为:UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 1022-1023: unexpected end of ...

  4. xcode9.0+添加文件报错

    xcode9.0+ 直接拉去文件进入项目或者使用Add Files To "项目名称"会报路径错误,找不到h文件. xcode9.0以上使用 Add Files To " ...

  5. 解决file.seek()读取文件报错:AttributeError: ‘str‘ object has no attribute ‘seek‘

    解决方法 可能性1:调整代码,确保传给file.seek()中file是python的文件类,即File类型,而不是一个字符串. 可能性2:这个文件在其他地方打开,没有关闭(感谢@weixin_472 ...

  6. 解决django4.0 跨域报 Cross-Origin Opener Policy错误

    错误:The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworth ...

  7. 解决idea中xml文件报红问题

    报错截图: 解决方法: 复制爆红的约束链接 file >>> settings >>> Languages & Frameworks >>> ...

  8. 解决IDEA的项目管理文件报红

    原因 代码版本变动 解决 crtl + alt + s

  9. java hadoop2.6.0 读取文件报错_java 程序访问hdfs错误 hadoop2.2.0

    很奇怪的问题,程序在eclipse上跑没问题: 这就代码:FileSystem fs = FileSystem.get(URI.create(hdfs_file),  conf , "use ...

最新文章

  1. 给一个词就能模仿你的笔迹,Facebook这个AI强大到不敢开源代码
  2. goland 关闭 自动移除未使用的包  自动添加需要的包
  3. 从零开始入门 K8s| 详解 Pod 及容器设计模式
  4. 如何修改oracle字段类型
  5. 牛掰本机限速软件appband
  6. 关于区块链的一些思绪
  7. [svc]centos7的服务治理-systemd
  8. SSH框架 openSessionInView的配置
  9. 明翰英语教学系列之PTE与多邻国篇V1.1
  10. arcgis调整图框线宽
  11. matlab 三维图像 叠加,利用 Matlab构建“波的叠加”图样
  12. dell服务器idrac配置
  13. 2020 中南大学研究生招生夏令营机试题(1252~1256)
  14. 不是机器人韩剧所有歌曲_15首超好听经典韩剧OST 《鬼怪》配乐每听必哭
  15. Qt操作Excel类
  16. CAN总线通信——CAN通信的数据帧(Data Frame)
  17. 为什么转置512x512矩阵,会比513x513矩阵慢很多?
  18. qt下开发mqtt的访问程序
  19. MySQL数据库表的插入,修改,删除操作实验
  20. ftp上传老是失败 [L] TYPE A [L] 200 Type set to A. [L] MODE Z [L] 200 MODE Z ok. [L] PASV [L] 550 Pa

热门文章

  1. 蚂蚁金服自研数据库OceanBase如何登顶TPC-C
  2. 如何衡量研发效能?阿里资深技术专家提出了5组指标
  3. 一份关于机器学习中线性代数学习资源的汇总
  4. Fortinet SD-Branch保障医疗服务机构安全组网
  5. 生产环境使用HBase,你必须知道的最佳实践
  6. Linux 会成为主流桌面操作系统吗?
  7. [重磅] 如何更好地实现服务调用和消息推送
  8. mfc 消息消息队列概念_消息队列面试连环问
  9. labelme实例分割_MaskRCNN在多个实例数据集上实践
  10. uniapp 创建与配置 tabbar