android开发中关于7.0适配的FileProvider的总结

本文总结了Android 7.0中FileProvider的适配问题,包括7.0权限变更介绍、开发中遇到的实际场景,如打开相机和应用安装,以及FileProvider的工作原理和使用步骤。详细讲解了如何注册FileProvider,添加共享目录,以及如何转化为Content URI并授权给其他应用。
摘要由CSDN通过智能技术生成

android开发中关于7.0适配的FileProvider的总结

问题描述—-Android7.0权限变更的介绍

android7.0在安全性能上可以说是做了升级的。主要表现是应用的私有目录的访问被限制。开发者不能简单的通过file:// URI访问其他应用的私有目录或者其他应用访问本应用的私有目录。并且Android SDK 中的StrictMode 策略禁止开发人员在应用外部公开 file:// URI。当我们在应用中使用包含 file:// URI 的 Intent 离开自己的应用时,程序就会发生闪退现象。

开发中的实际场景介绍

  1. 打开相机

    `String filePath = Environment.getExternalStorageDirectory() + "/images/"+System.currentTimeMillis()+".jpg";
    File outputFile = new File(filePath);
    if (!outputFile.getParentFile().exists()) {
        outputFile.getParentFile().mkdir();
    }
    Uri contentUri = FileProvider.getUriForFile(this,
        BuildConfig.APPLICATION_ID + ".myprovider", outputFile);
    
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, contentUri);
    startActivityForResult(intent, REQUEST_TAKE_PICTURE
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值