Android 7.0应用间共享文件----FileProvider

本文介绍了Android 7.0及以上版本中,应用如何使用FileProvider安全地共享私有文件。FileProvider作为ContentProvider的子类,通过生成content URI代替file URI,避免FileUriExposedException。内容包括在AndroidManifest.xml中配置FileProvider,定义可共享的文件目录,生成Content Uri,以及向其他应用授予临时访问权限的方法。
摘要由CSDN通过智能技术生成

应用间经常需要将自己的私有文件共享给其他的app,如某应用想要共享图库的图片用来编辑用户的头像,或者文件管理app允许用户在不同目录下复制粘贴文件等等,但为了保护私有文件的安全性,在targetSdk版本为N或者以后版本的app中,应用的私有目录被限制访问。。。
面向Android7.0的应用,Android框架执行的StrictMode API政策禁止在您的应用外部公开file://URI。如果一项包含文件URI的intent离开您的应用,则您的应用会停止运行,抛出FileUriExposedException

12-09 01:44:45.284 E/AndroidRuntime(17911): FATAL EXCEPTION: main
12-09 01:44:45.284 E/AndroidRuntime(17911): Process: com.example.fileproviderdemo, PID: 17911
12-09 01:44:45.284 E/AndroidRuntime(17911): android.os.FileUriExposedException: file:///data/user/0/com.example.fileproviderdemo/files/image exposed beyond app through ClipData.Item.getUri()
12-09 01:44:45.284 E/AndroidRuntime(17911):     at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958)
...
12-09 01:44:45.290 W/ActivityManager( 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值