我正在创建一个应用程序,在其中设置个人资料图像和封面图像,因此在设置个人资料图像时,我想默认使用intent
打开前置摄像头。
我在用
pictureIntent.putExtra("android.intent.extras.CAMERA_FACING",1);
它可以在索尼上工作,但是当我在三星Galaxy J4上进行测试时,它正在打开后置摄像头。我搜索后发现,三星应该使用值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;
}