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

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

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

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

【问题讨论】:

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


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多