Android启用摄像头失败或者黑屏问题的几点原因

在Android开发中接触Camera的过程中,经常会碰到各种各样的问题,对于启用摄像头失败或者黑屏的情况,本人总结了一下几点原因,欢迎大家继续补充:

1.手机没有对应摄像头,例如手机可能只有两个摄像头,下标从0开始,Camera.open(2)打开的是第3个摄像头就会出问题
    private void openCamera(int cameraFacing) throws RuntimeException {
        releaseCamera();
        Camera.CameraInfo info = new Camera.CameraInfo();
        for (int i = 0; i < Camera.getNumberOfCameras(); i++) {
            Camera.getCameraInfo(i, info);
            if (info.facing == cameraFacing) {
                mCamera = Camera.open(i); // 打开对应的摄像头,获取到camera实例
                mIsOpened = true;
                return;
            }
        }
    }

2.应用没有对应权限或者对应权限没有打开。

在 AndroidManifest.xml 加上对应权限

<uses-permission android:name="android.permission.CAMERA" />
再检查你的应用对应的权限是否打开,建议加上动态权限检查。

3.代码中使用了手机不支持的预览尺寸

可以通过如下代码查看你的手机支持的预览尺寸有哪些(不同手机支持的预览大小不一样)

List<Size> previewSizes = mCamera.getParameters().getSupportedPreviewSizes();
for (int i = 0; i < previewSizes.size(); i++) {
Size psize = previewSizes.get(i);
Log.i(TAG + "initCamera", "PreviewSize,width: " + psize.width + " height: " + psize.height);
}
之后查看log就可以看到了




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/afei__/article/details/51540188
文章标签: Android Camera
个人分类: Android Android UI
上一篇Android仿微信通讯录功能,好友排序+字母索引
下一篇Android检查应用权限是否被禁用,解决权限被禁用时程序崩溃
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭