背景
按照 << 第一行Android代码>>写了一下调用摄像头和相册的案例, 页面是下面截图的样子, 拍照或者从相册选择图片后, 在下方的 imageView 里将图片显示出来.
点击 “从相册选择照片” 按钮的时候功能是正常的, 点击 “拍照” 按钮的时候会闪退并报告相机异常.
解决方法
书中没有提到 (可能是版本问题吧, 我看的是第三版, 基于Android10 的) 要单独配置读写权限, 所以项目运行起来的时候就一直闪退.
后来发现加了权限, 就不会闪退了. 估计是在程序中创建 file 对象, 用于存储拍照后的图片这个地方涉及到存储的读写权限了, 所以需要额外配置一下.
<!--外部存储的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--外部存储的读权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />