首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android7.0后FileProvider升级安装包导致FileUriExposedException的异常

uri文件地址的改变,使用FileProvider可以生成content://Uri来替代file://Uri 官方解答:出于用户隐私安全考虑,谷歌——(对于面向 Android 7.0 的应用,Android...等同于 Context.getExternalCacheDir();--> 表示应用程序内部SD卡存储目录下的 cache/ 目录,共享的完整路径为...path 属性用于指定apk所在的文件夹名,与步骤4中设置的对应,不要弄错了。 name 属性告诉 FileProvider 为共享路径创建一个别名为 apk 的路径字段,可任意。...想要通过 FileProvider 为文件生成 content URI 只能在此处指定目录,除此之外还可以共享其它目录,其标签对应的路径如下: ?..."属性值 // 参数3 = 上一步中共享的apk文件 Uri apkUri = FileProvider.getUriForFile(context, "

2.6K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    透过FileProvider再看ContentProvider

    要在应用间共享文件,您应发送一项 content:// URI,并授予 URI 临时访问权限。进行此授权的最简单方式是使用 FileProvider 类。...” 为什么限制在应用间共享文件 打个比方,应用A有一个文件,绝对路径为file:///storage/emulated/0/Download/photo.jpg 现在应用A想通过其他应用来完成一些需求,...如果要分享文件路径,不要分享file:// URI这种文件的绝对路径,而是分享content:// URI,这种相对路径,也就是这种格式:content://com.jimu.test.fileprovider...从易用性,安全性,完整度等各个方面考虑,Google选择了ContentProvider为这次限制应用分享文件的 解决方案。于是,FileProvider诞生了。 具体做法就是: FileProvider也是属于这种情况。 与自己的APP有一些交互。比如自家多应用之间,可以通过这个进行一些数据交互。 三方库的初始化工作。

    1.2K20

    App磁盘沙盒工具实践

    缓存的数据变化是否正确、缓存是否起到对应作用是QA需要重点测试的对象。 android缓存路径查看方法有哪些呢?...与直接拿到路径不同的是,此处拿到的是Uri。...直接构造路径。与媒体文件一样,可以直接构造路径访问。 访问其它目录 直接构造路径。与媒体文件一样,可以直接构造路径访问。 总结一下共同点 访问目录/文件可通过如下两个方法:1、通过路径访问。...4.8 为何需要FileProvider 4.8.1 文件共享基础概念 了解文件共享的基础知识 提到文件共享,首先想到就是在本地磁盘上存放一个文件,多个应用都可以访问它,如下: 理想状态下只要知道了文件的存放路径...4.8.3 FileProvider应用与原理 第一步,定义自定义FileProvider并且注册清单文件public class ExplorerProvider extends FileProvider

    1.8K30

    FileProvider你了解多少?透过FileProvider来看看四大组件之一ContentProvider!

    要在应用间共享文件,您应发送一项 content:// URI,并授予 URI 临时访问权限。进行此授权的最简单方式是使用 FileProvider 类。...为什么限制在应用间共享文件 打个比方,应用A有一个文件,绝对路径为file:///storage/emulated/0/Download/photo.jpg 现在应用A想通过其他应用来完成一些需求,比如拍照...如果要分享文件路径,不要分享file:// URI这种文件的绝对路径,而是分享content:// URI,这种相对路径,也就是这种格式:content://com.jimu.test.fileprovider...从易用性,安全性,完整度等各个方面考虑,Google选择了ContentProvider为这次限制应用分享文件的 解决方案。于是,FileProvider诞生了。 具体做法就是: FileProvider也是属于这种情况。 与自己的APP有一些交互。比如自家多应用之间,可以通过这个进行一些数据交互。 三方库的初始化工作。

    83500

    Android 7.0 FileUriExposedException 的处理

    Android 7.0 权限更改导致,确切的讲是 Android 对权限的进一步管理,从 Android 6.0 的动态权限申请到这个问题可以看出 Google 也是越来越重视 Android 环境的安全问题了...解决问题 官方给出的解决方式是通过 FileProvider 来为所共享的文件 Uri 添加临时权限,详细请看这里 在 标签下添加 FileProvider 节点 FileProvider 为 Android/data/com.xxx.xxx/cache/app/ 创建一个名为 apk 的路径字段。...想要通过 FileProvider 为文件生成 content URI 只能在此处指定目录,以上示例就表示我将要共享 Android/data/com.xxx.xxx/cache/app/ 这个目录,除此之外还可以共享其它目录...//调用,apkPath 入参就是 xml 中共享的路径 String apkPath = context.getExternalCacheDir().getPath()+ File.separator

    77720

    Bugly升级SDK适配Android N

    我们可以看到在provider中需要配置相应的meta-data,这个是共享文件的路径,在res目录下新建xml文件夹并新建对应的xml文件(如下面的provider_paths),如下所示: ?...可以看到我配置了两个external-path,这两个路径都是beta下载的文件可能存在的路径,举个例子,第一个路径存在的uri如下: content://com.bugly.upgrade.demo.fileProvider...例如: /storage/emulated/0/Android/data/com.bugly.upgrade.demo/cache 通过FileProvider获取Uri路径 示例代码: Uri uri...才会去使用FileProvider。...总结 关于Android N共享文件权限的适配已经完成,还有其他特性还需要我们去验证看是否存在一些bug,其实Android每一个版本的发布都会面临这样一个问题,所以我们去了解每个版本特性的变化还是很有必要的

    87220

    FileProvider无法获取外置SD卡问题解决方案 | Failed to find configured root that contains

    Android提供FileProvider类来供应用之间共享数据。...它对应Context.getFilesDir返回的路径:eg:”/data/data/com.jph.simple/files”。...它对应Context#getExternalFilesDir(String) Context.getExternalFilesDir(null)返回的路径。...以上便是Android官方文档上介绍的FileProvider所有支持的所以path类型,这些类型在Android手机内部存储区文件共享是可以行的通的,但对于外置SD卡是不行的,如果你想通过FileProvider.getUriForFile...FileProvider获取对外置SD卡的支持 从Android官方文档中没有找到FileProvider对外置SD卡的支持的任何说明,下面我们就从FileProvider的源码中找找是否有突破口,在FileProvider

    2K80

    Android版本更新知识(检测、升级,6.0,7.0,8.0)总结

    所以这里我们引入了 fileProvider 的概念,作为四大组件之一的 ContentProvider,一直扮演着应用间共享资源的角色。...这里我们要使用到的 FileProvider,就是 ContentProvider 的一个特殊子类,帮助我们将访问受限的 file:// URI 转化为可以授权共享的 content:// URI。...---- 第一步,注册一个 FileProvider 第二步,添加共享目录 在 res/xml 目录下新建一个 provider_paths 文件,用于存放应用需要共享的目录文件。...() 所获取的目录路径; :外部存储空间应用私有目录下的 files/ 目录,等同于 Context.getExternalFilesDir(null) 所获取的目录路径; :外部存储空间应用私有目录下的...= null) { if(Build.VERSION.SDK_INT>=24) {//判读版本是否在7.0以上 Uri apkUri = FileProvider.getUriForFile

    96110

    FileProvider 的使用(Failed to find configured root that containsstorageemulated0DCIM )

    app through ClipData.Item.getUri() 然后网上搜了一把,是 photoURI = Uri.fromFile(photoFile); 这种创建Uri的方式有问题了,不够安全...需要使用FileProvider来创建Uri. 使用FileProvider四部曲 第一步,指定一个FileProvider。...//路径是公共存储路径Pictures目录下的camerademo目录 storagePath = Environment.getExternalStorageDirectory().getAbsolutePath...在filePath.xml 文件中,如果要在同一个存储路径下,指定两个共享的目录,如下所示,那么两个共享路径的name字段取值不应该相同,如果两者相同,那么后面的一行指定的path(/storage/...emulated/0/Pictures/camerademo)会覆盖上面一行指定的path(/storage/emulated/0/DCIM/camerademo) // 共享目录的根目录都是 /storage

    1.6K20

    ASP.NET Core应用针对静态文件请求的处理: 以Web的形式发布静态文件

    整个应用只包含如下所示的这几行代码,StaticFileMiddleware这个中间件的注册是通过调用ApplicationBuilder的扩展方法UseStaticFiles来完成的。...对于我们调用ApplicationBuilder的扩展方法UseStaticFiles方法注册的这个类型为StaticFileMiddleware的中间件,其内部具有一个FileProvider和请求路径的映射关系...如果调用UseStaticFiles方法没有指定任何的参数,那么这个映射关系的请求路径就是应用的基地址(PathBase),而FileProvider自然就是指向WebRoot目录的PhysicalFileProvider...三、显示默认页面 从安全的角度来讲,利用注册的UseDirectoryBrowser中间件显示一个目录浏览页面会将整个目标目录的接口和所有文件全部暴露出来,所以这个中间件需要根据自身的安全策略谨慎使用。...对HTTP协议具有基本了解的人都应该知道,响应的文件能够在支持的浏览器上呈现具有一个基本的前提,那就是响应消息通过Content-Type报头携带的媒体类型必须与内容一致。

    1.4K50

    那时年少

    [本文结构] 之前开发的时候涉及到 FileProvider 相关的功能,梳理了一次,但是没有记录,最近再次遇到了,发现又要查询一次,就顺便总结记录一下。...FileProvider使用方法 配置FileProvider文件共享的路径 在res目录下创建一个xml目录,在xml目录下新建一个filepaths.xml,例如: 在标签中配置至少一个或多个path子元素,path子元素则用来定义content uri所对应的路径目录。...以为例: 以上面的例子,对应的配置当访问文件 content://com.example.myapp.bihe0832/zixie_download/test.apk 时,就会找到path路径Content.getFilesDir...() + “/download/” 并查找 test.apk 文件 获取FileProvider文件共享的路径 配置完共享地址后,获取content uri的值,这个uri即提供给第三方进行访问的uri

    34020

    用隐私换安全?Airbnb与监管机构共享房东信息

    近期Airbnb对宣布,在有必要的条件下,将与监管机构共享房东信息,成为继苹果将数据转存云上贵州之后的又一例子。 ? 如果我是Airbnb的负责人,我也会选择接受。...毕竟网络安全事件频发,尤其是在Facebook 5000万用户信息造成的巨大舆论焦点下,国内的用户也变得比较敏感。 此外,受影响的可能并不只是房东用户,而包括所有的普通用户。...笔者查看Airbnb隐私政策了解到,在关于“安全和遵守法律”一条,清楚的写道:如果法律要求或有合理必要,爱彼迎可以向法院、执法机关、政府机关或授权第三方披露您的信息: (i)遵守法律程序及回应针对爱彼迎提起的索赔...政策监管的主要目的其实还是为了保障用户安全,毕竟短租房行业目前依然缺乏市场监管,用户维权难等问题存在。频繁爆发出针孔摄像、损坏房屋甚至更加恶劣的丑闻事故。...Airbnb发言人Jake Wilczynski表示:“与所有在中国运营的企业一样,Airbnb中国公司必须遵守当地的法律和法规,我们收集的信息与中国数十年来收集的酒店信息类似。”

    37030
    领券