7.0以上android.os.FileUriExposedException: file:///storage/emulated/0/xxx.xxx exposed beyond app的bug解决
公司开发的Android屏幕设备升级到了11,在进行apk升级进行存储本地的过程中报错
1.首先将apk下载到项目的专属文件夹中,Android/data/包名/
2.上面这个错误就是读取该文件的Uri的时候报的错。
从 Android N 开始,将不允许在 App 间,使用 file:// 的方式,传递一个 File ,(之前的uri的获取方式)否者会抛出 FileUriExposedException
的错误,会直接引发 Crash。
那么解决方案为:
1.首先在AndroidManifest.xml下面声明一个provider
<providerandroid:authorities="一般是你的包名.provider"android:name="android.support.v4.content.FileProvider"android:grantUriPermissions="true"android:exported="false"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/filepaths"/>
</provider>
2.然后在res的xml文件夹下创建上面提到的filepaths文件
<?xml version="1.0" encoding="utf-8"?>
<paths><external-cache-path path="." name="update.apk"/>
</paths>
「external-cache-path」表示Android/data/包名/cache, 在代码中对应为Context.getExternalCacheDir()
比如Android/data/包名/cache/imgs/dog.jpg
「path」代表Android/data/包名/cache的子目录名字,这个例子中就是imgs
「name」代表最终的文件名字,上面例子中就是dog.jpg
和「external-cache-path」同样级别的标签还有很多,这个表格是对应表
files-path | /data/data/<包名>/files |
cache-path | /data/data/<包名>/cache |
external-path | /storage/emulate/0 |
external-files-path | /storage/emulate/0/Android/data/<包名>/files |
external-cache-path | /storage/emulate/0/Android/data/<包名>/cache |
3.获取Uri时用FileProvider的方式
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {uri = FileProvider.getUriForFile(UpdateService.this,『你的包名』+".provider",new File(filePath));}
注意:!!!
上面的第二个参数是这个方法的authority,务必和Androidmanifest中申请的一样。
android:authorities="一般是你的包名.provider",否则会找不到这个抛空指针异常
7.0以上android.os.FileUriExposedException: file:///storage/emulated/0/xxx.xxx exposed beyond app的bug解决相关推荐
- Android7.0解决 android.os.FileUriExposedException: file:///storage/emulated/0/
解决Android N文件访问crash android.os.FileUriExposedException file:///storage/emulated/0/xxx 原因: Android N ...
- 解决 Android N 上报错:android.os.FileUriExposedException: file:///storage/emulated/0/
解决android N文件访问crash android.os.FileUriExposedException file:///storage/emulated/0/xxx 原因: Android N ...
- Android打开相机,报出 android.os.FileUriExposedException: file:///storage/emulated/0/test/img.jpg exposed
执行以下代码后,打开相机 //调用相机自带的照相功能 指定图片目录 if (Environment.getExternalStorageState().endsWith(Environment.MED ...
- android os FileUriExposedException file storage emulated 0 test tx
错误出现原因: 在Android版本7.0以上,应用之间文件访问权限修改. 解决办法: 我们需要使用FileProvider允许其他应用访问本应用创建的文件或文件夹,首先需要创建继承android.s ...
- android.os.FileUriExposedException: file:///storage/emulated/0/pictures/1564739776566.jpg exposed be
问题: 原因:Android N(对应sdk24)(版本7.0)及以上对访问文件权限收回,按照Android N的要求,若要在应用间共享文件,您应发送一项 content://URI,并授予 URI ...
- android.os.FileUriExposedException: file:///storage/emulated/0/myxmpp/154094
在项目的MainActivity的开始添加下面这段代码 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {StrictMode.VmPol ...
- android.os.FileUriExposedException: file:///storage/emulated/0/myimage/15115
复制的https://blog.csdn.net/qq_33210042/article/details/78626701 管用!已收藏 //取消严格模式 FileProvider if (Build ...
- FileUriExposedException: file:///storage/emulated/0/Android/data/com.skyrin.bingo/cache/app/app.apk
安卓在app更新的时候file parseuri 报错FileuriExposedException:.................exposed beyond app through Inten ...
- FileUriExposedException: file:///storage/emulated/0/001/1612321465868.mp4 exposed beyond app through
我在调用系统相机的时候报错 private void openCamera() {Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE) ...
- 安卓开发拍照时闪退遇到问题: file:///storage/emulated/0/0.jpg exposed beyond app through ClipData.Item.getUri()
问题描述: 打开摄像头拍照时程序闪退,错误提示如下: android.os.FileUriExposedException: file:///storage/emulated/0/RadioDirec ...
最新文章
- 如何实现electron多页面间通信
- 十六进制转byte变负数
- ssh项目放到服务器上出现404,项目运行一段时间,后台程序无法启动,404错误
- 使用GUI工具Portainer.io管控Docker容器
- 牛客练习赛46T1-华华教奕奕写几何【数学】
- 标题 日期问题java蓝桥杯,日期类的使用(java)-蓝桥杯
- bresenham算法画圆mfc实现_kd-tree理论以及在PCL 中的代码的实现
- Security+ 学习笔记34 硬件安全
- uva 12230 - Crossing Rivers(概率)
- windows mac谷歌浏览器跨域
- /dev/sda is entire device, not just one partition. Refusing to make a filesystem here
- JTA transaction unexpectedly rolled back (maybe due to a timeout)
- Android APP在线自动更新安装
- 数学笔记27——极坐标下的面积
- c语言结构体编辑学生成绩管理,C语言基于结构体的学生信息管理系统实现
- 比赛必备 ︱ 省力搞定三款词向量训练 + OOV词向量问题的可性方案
- linux 内存 内核参数详解,linux系统内核参数说明
- 1793D Moscow Gorillas
- 东师理想运维工具开发路线图(第一阶段)
- bzoj 1671: [Usaco2005 Dec]Knights of Ni 骑士
热门文章
- 华中科技大学计算机考研机试KY222 打印日期
- C++学习笔记:类的多重继承派生(eg:person、account、admin和master类)
- 深度学习中为什么普遍使用BGR而不用RGB?
- vn.py源码解读(二、实盘交易代码分析)
- Android短信保存流程,Android短信收发流程(应用层).doc
- 电壁挂炉成为南方用户首选
- 当金融科技遇见实时计算,业界有哪些创新应用?
- 配套规则再细化,科创板进入最后冲刺阶段
- Java小游戏-下落打击式游戏
- VMware vRealize Operations 8.6 下载 - 自动驾驶式 IT 运维管理