默认情况下打开前置摄像头

时间:2019-08-02 07:19:58

标签: java android android-intent android-camera image-capture

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

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

它可以在Sony上工作,但是当我在Samsung Galaxy J4上进行测试时,它正在打开后置摄像头。我搜索后发现,三星应该使用值2。 但是它不起作用。
我只想使用意图进行此操作。
有人知道吗?

1 个答案:

答案 0 :(得分:2)

您可以像下面这样

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; 

}