我们有意实现摄像头,以使其在micromax480p 5.1版中可以正常工作,但是当我们在Nexus7版本6.1中使用的时候,打开了摄像头,但我想打开一些时间,前后有时可以根据需要打开。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
    //intent.addCategory(Intent.CATEGORY_OPENABLE);
    //intent.setAction(Intent.ACTION_GET_CONTENT);
    if(camera == 1) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
            //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            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);
        }
    }


    // start the image capture Intent
    startActivityForResult(intent, requestCode);


我以前是这样用的,但是默认情况下它是开放的,这是我们以前使用过的相机(前后)。对不起,我的英语交流不佳。

最佳答案

要调用前置摄像头,您可以使用:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);


要调用后置摄像头,您可以使用:

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivity(intent);


并且您需要在AndroidManifest.xml中设置摄像机的权限:

 <uses-permission android:name="android.permission.CAMERA"> </uses-permission>

关于android - 如何通过android中的 Intent 打开前后摄像头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43841738/

10-12 23:53