无法打开前置摄像头/摄像头预览

时间:2020-04-03 19:16:15

标签: android camera android-camera-intent

我正在尝试打开前置摄像头,我在设备huamate mate 10 lite上进行测试

这是我到目前为止尝试过的

此代码打开后置摄像头而不是前置摄像头,而且,我无法关闭意图,我正在使用thread.sleep 6秒钟,之后,摄像头应关闭

 public void openFrontCamera(){

        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            intent.putExtra("android.intent.extras.CAMERA_FACING", android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT);
            intent.putExtra("android.intent.extras.LENS_FACING_FRONT", 1);
            intent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true);
        } else {
            intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
        }


        startActivityForResult(intent, 100);


        try {
            Thread.sleep(6000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        finish();

    }

此代码应打开相机预览,但什么也没发生

private Camera openFrontFacingCamera()
{
    int cameraCount = 0;
    Camera cam = null;
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    cameraCount = Camera.getNumberOfCameras();
    for ( int camIdx = 0; camIdx < cameraCount; camIdx++ ) {
        Camera.getCameraInfo( camIdx, cameraInfo );
        if ( cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT  ) {
            try {
                cam = Camera.open( camIdx );
            } catch (RuntimeException e) {
                Log.e("sdsdf", "Camera failed to open: " + e.getLocalizedMessage());
            }
        }
    }

    return cam;
}

这是日志

I:摄像机编号:2

我:相机提醒结果:是

I:uid = 10233(u0_a233)com.zeroxctf.specialkids相同的2行

I:摄像机编号:2

I:打开相机:1,包名称:com.zeroxctf.specialkids

清单权限

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.front" android:required="false" />

感谢任何帮助

0 个答案:

没有答案