要仅显示Android前置摄像头,您可以使用Camera2 API。以下是一个带有代码示例的解决方法:
private CameraDevice.StateCallback cameraStateCallback = new CameraDevice.StateCallback() {
@Override
public void onOpened(CameraDevice camera) {
// 摄像头已打开,可以进行后续操作
}
@Override
public void onDisconnected(CameraDevice camera) {
camera.close();
}
@Override
public void onError(CameraDevice camera, int error) {
camera.close();
}
};
private CameraManager cameraManager;
private CameraDevice cameraDevice;
cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
private void openFrontCamera() {
try {
String[] cameraIds = cameraManager.getCameraIdList();
for (String cameraId : cameraIds) {
CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId);
Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);
if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) {
// 打开前置摄像头
cameraManager.openCamera(cameraId, cameraStateCallback, null);
return;
}
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
protected void onResume() {
super.onResume();
openFrontCamera();
}
请注意,这只是一个简单的示例,您可能还需要处理摄像头权限请求、配置和预览等。