Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题

1、正常情况下调用系统相机拍照:

如果拍照后点击的是“确定”图标,返回的resultCode = -1(Activity.RESULT_OK);
如果点击的是底部的“返回”键,返回的resultCode = 0(Activity.RESULT_CANCELED)。

2、出现问题的情况:

那么,今天碰到的在Android6.0机型上出现的调用系统相机拍照返回的resultCode的值始终等于0的问题,主要是由于以下两方面原因导致到:

2.1、没有实现运行时权限的处理

当AndroidManifest.xml文件中的Android:targetSdkVersion值大于等于23的时候,此时必须要实现运行时权限的处理,因为向SD卡读写文件的权限——android.permission.WRITE_SETTINGS属于运行时权限。

解决方案:
方案一:将AndroidManifest.xml文件中的android:targetSdkVersion值修改为小于23 ;
方案二:添加运行时权限的处理;

2.2、当指定拍照图片保存路径的时候,存储目录(文件夹)未创建

解决方案:

调用系统相机拍照之前先创建存储目录

参考:https://www.cnblogs.com/whycxb/p/6818222.html

你可能感兴趣的:(代码块)