Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:如何仅在横向模式下打开前置摄像头?_Android_Android Camera_Android Camera Intent - Fatal编程技术网

Android:如何仅在横向模式下打开前置摄像头?

Android:如何仅在横向模式下打开前置摄像头?,android,android-camera,android-camera-intent,Android,Android Camera,Android Camera Intent,当我没有升级到4.4.2时,支持前置摄像头。屏幕在横向模式下打开,但当我升级到最新版本时,前置模式在摄像头中不受支持,并旋转到纵向模式 我打开相机的源代码如下: private void getPhotoFromCamera() { try { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra("and

当我没有升级到4.4.2时,支持前置摄像头。屏幕在横向模式下打开,但当我升级到最新版本时,前置模式在摄像头中不受支持,并旋转到纵向模式

我打开相机的源代码如下:

private void getPhotoFromCamera() 
    {
        try 
        {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            intent.putExtra("android.intent.extras.CAMERA_FACING",1);
             VisitorRegistrationFragment.this.startActivityForResult(intent,FROM_CAMERA);
         } 
         catch (Exception e) 
         {
            e.printStackTrace();
         } 
         catch (OutOfMemoryError e) 
         {
            e.printStackTrace();
         }

    }

有没有人能帮助我了解如何打开前置摄像头以及如何限制摄像头仅在横向模式下打开?

只需定义横向模式下的活动即可

android:screenOrientation="landscape"
要打开前向摄像头,请使用以下代码

private Camera openFrontFacingCameraGingerbread() {
    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(TAG, "Camera failed to open: " + e.getLocalizedMessage());
            }
        }
    }

    return cam;
}
专用摄像头OpenFrontFacingCameragingerRead(){
int cameraCount=0;
摄像机摄像机=null;
Camera.CameraInfo CameraInfo=新的Camera.CameraInfo();
cameraCount=Camera.getNumberOfCameras();
对于(int-camIdx=0;camIdx

请参阅链接

在横向模式下定义您的活动

android:screenOrientation="landscape"
要打开前向摄像头,请使用以下代码

private Camera openFrontFacingCameraGingerbread() {
    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(TAG, "Camera failed to open: " + e.getLocalizedMessage());
            }
        }
    }

    return cam;
}
专用摄像头OpenFrontFacingCameragingerRead(){
int cameraCount=0;
摄像机摄像机=null;
Camera.CameraInfo CameraInfo=新的Camera.CameraInfo();
cameraCount=Camera.getNumberOfCameras();
对于(int-camIdx=0;camIdx

参考链接您可以尝试将方向放在意图中:

intent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
如果您在清单中设置了活动,请添加:

<activity
    android:name="yourLandscapeActivity"
    android:screenOrientation="landscape"              
</activity>

您可以尝试将方向放在意图中:

intent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
如果您在清单中设置了活动,请添加:

<activity
    android:name="yourLandscapeActivity"
    android:screenOrientation="landscape"              
</activity>

但如何将此摄像头传递给intent?通过添加intent.putExtra(“android.intent.extras.camera_-face”,1);但是如何将这个摄像头传递给intent?通过添加intent.putExtra(“android.intent.extras.camera_-face”,1);