可以使用Camera2 API来实现同时使用两个应用程序使用摄像头的功能。以下是使用Camera2 API的示例代码,它允许在 android.hardware.camera2 API 上使用两个应用程序:
//创建一个新的Camera2示例
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] cameraIds = manager.getCameraIdList();
for (String id : cameraIds) {
CameraCharacteristics characteristics = manager.getCameraCharacteristics(id);
int cameraDirection = characteristics.get(CameraCharacteristics.LENS_FACING);
if (cameraDirection == CameraCharacteristics.LENS_FACING_BACK) {
//打开相机并设置回调
manager.openCamera(id, new CameraDevice.StateCallback() {
@Override
public void onOpened(@NonNull CameraDevice cameraDevice) {
//使用相机设备
}
@Override
public void onDisconnected(@NonNull CameraDevice cameraDevice) {
//释放相机设备
}
@Override
public void onError(@NonNull CameraDevice cameraDevice, int error) {
//出错时处理
}
}, null);
}
}
此代码段演示如何使用Camera2 API打开后置摄像头。您可以根据需要更改此代码,例如更改要打开的摄像头,调整回调行为等。