Android中关于照相的权限一点冷知识

以前在github中看到一个项目,EasypermissionDemo, 后来发现这个项目很黑科技, 因为里面只有一个简单的功能, 就是拍照或者从本地相薄中选一张照片出来, 然后显示. 重点是你不需要请求拍照权限, 而且进系统的权限清单里面查看这个app的权限清单, 你会发现里面没有拍照的权限, 很神奇对不对.
我查看了它的源码, 并没有什么特别之处, 我在百思不得奇解之后, 询问了各种我能问到的人之后才明白其中的原因, 具体原因是从使用ACTION_IMAGE_CAPTURE可能存在的风险里面找到的, 我简单引用一下

很多的 Android App 中都有使用相机拍摄用户头像的功能。大部分开发者都会使用MediaStore.ACTION_IMAGE_CAPTURE来满足这一需求。这可以节省很多时间,不需要单独开发相机UI,直接调用系统相机;不需要向系统请求 Camera 权限。正如官方文档里面说的那样,Taking Photos Simply。

如果没有在 manifest 文件中声明 Camera 权限,使用 ACTION_IMAGE_CAPTURE 不需要对 Camera 权限做运行时权限处理,代码正常运行。如果声明了就必须要做权限处理。
所以我们平时的开发中, 如果只是要调用系统的相机进行拍照, 无其他自定义操作时, 使用ACTION_IMAGE_CAPTURE进行跳转, 并不需要进行拍照权限请求.

你可能感兴趣的:(Android,Android,拍照权限)