Android 7.0后 播放U盘中的视频文件的解决方案

本文介绍了在Android 7.0及以上版本中,由于系统安全策略变化导致的FileUriExposedException异常。通过使用FileProvider、创建file_paths.xml以及配置root-path节点来实现播放U盘视频,详细解析了如何配置访问外部存储特别是U盘的文件路径。
摘要由CSDN通过智能技术生成

背景介绍:
TV项目的系统是Android N,里面有个产品需求:是做一个视频文件管理器,检测到U盘插入之后,读取里面的视频文件,展示出来,并且支持点击播放,就是如下样式(项目实际运行展示的效果)
在这里插入图片描述
我们知道,如果要播放一个视频文件,必须要给播放器 设置一个路径或者Uri,一般是Uri uri=Uri.parse(…)或者是 Uri uri=Uri.fromFile(…)等,如果是这样的话,在Android N上及其之后会抛出 FileUriExposedException 异常
这是因为在Android N 之后,Android 执行的StrictMode API 政策对外部应用公开file://Uri,如果包含这个uri的intent离开当前应用会报FileUriExposedException 异常,而如果在应用间共享文件,应该用content://Uri,并授予Uri临时访问权限,这个具体可以查看 官网 点击这里
按照官网讲解步骤,我们要用到FileProvider类,它是ContentProvider的子类,要按照以下几个步骤去做:

【1】、定义一个FileProvider ,并注册。
【2】、指定要访问的文件路径位置。
【3】、生成文件的Uri。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值