android7.0上传文件后台,Android分享文件兼容7.0以上系统

部分用户反馈分享功能用不了,然后仔细检查了一下,看着代码,愣是没看出毛病来,然后查了一下,才发现不少小伙伴也出现了这个问题,原因是Android7.0以上系统对文件的权限做了某些安全方面的限制,也就是直接通过Uri.fromFile这个方式将path抓缓存uri是不能用了。

解决问题的大概思路就是,配置一个本APP对应的专门的路径,然后每次需要分享文件的时候,拷贝一份放到这个目录下,然后通过FileProvider来转换成uri,即可正常分享(后来发现,用这个方法分享到TIM的时候,会出现文件找不到的错误,QQ和微信则没问题)。

详细操作就不细说了,看大神门的博客:

http://blog.csdn.net/leilifengxingmw/article/details/57405908

除此之外,我发现了另外一个问题,完全不需要上面那么复杂的操作,只需要在分享之前执行下面一段代码即可(具体什么原理,并没有去细看,但亲测可以分享到qq、tim、微信):

StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();

StrictMode.setVmPolicy(builder.build());

builder.detectFileUriExposure();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值