Android 7.0调用系统相机

最近在项目中遇到了7.0系统相机调用适配问题,特此记录。

在6.0之后,7.0之前我们调用相机并保存图片需要用到6.0的运行时权限,在此不做描述。7.0之后我们不仅需要6.0的运行时权限还需要用到系统提供的FileProvider来创建一个Uri(7.0之前我们只需自己指定一个图片存储路径)。

以下是请求权限代码片段:

申请权限

注:private static final int CAMERA_PERMISSIONS_REQUEST_CODE=0x03;

以下是7.0之前的调用相机代码片段:

7.0之前调用相机

以下是7.0之后调用相机代码片段:

7.0调用相机

注意:此处com.takePhotoDemo.FileProvider须与清单注册的authorities内容保持一致。

7.0之后需要用到系统提供的FileProvider。所以我们还需要进行以下几步:

1:在res文件夹下新建xml文件夹,再在xml下新建文件file_paths.xml。代码如下:

file_paths.xml

2:在清单文件里注册FileProvider。代码如下:

注册provider

最后附上完整代码:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容