默认开启前置摄像头

Posted

技术标签:

【中文标题】默认开启前置摄像头【英文标题】:Open front camera by default 【发布时间】:2019-12-10 19:06:17 【问题描述】:

我正在创建一个应用程序,在其中设置个人资料图像和封面图像,因此在设置个人资料图像时,我想默认使用intent 打开前置摄像头。 我正在使用

pictureIntent.putExtra("android.intent.extras.CAMERA_FACING",1);

它在索尼上工作,但当我在三星 Galaxy J4 上测试时,它打开了后置摄像头。我搜索并发现某处三星应该使用值 2。 但是它不起作用。 我只想使用意图来做到这一点。 有人知道吗?

【问题讨论】:

【参考方案1】:

你可以像下面这样,

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


return cam;

然后在你的应用中使用如下:

public static Camera getCameraInstance() 
  Camera c = null;
  try 
    c = openFrontFacingCamera();
  
  catch (Exception e)
 
return c; 


【讨论】:

添加后,在 logcat 中出现以下错误。 Camera_APM :: [APM]APM 的线程已启动 Camera_APM :: [APM] 这个应用是 forground app Camera: Error 2

以上是关于默认开启前置摄像头的主要内容,如果未能解决你的问题,请参考以下文章

HTC VIVE 开启前置摄像头

有没有办法打开和关闭前置摄像头的手电筒? [复制]

如何查看前置摄像头 ID?捕获的图像也是来自前置摄像头的镜像。

我可以在使用 android studio 开发应用程序时禁用 android 默认摄像头(后置和前置)吗

IOS Swift 3:拍摄相机图片后水平翻转前置摄像头图像

苹果电脑的内置摄像头 如何关闭