Я реализовал камеру с тремя состояниями: селфи (спереди), сзади и выключено.
Все работает, кроме выключенного состояния.
Я использую camera2, и она отображается в TextureView:
<TextureView
android:id="@+id/texture_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Ожидается: когда выбрано состояние «выключено», я хотел бы закрыть камеру и показать черный экран .
Актуально: в выключенном состоянии отображается последний увиденный кадр камеры.
Метод closeCamera:
private void closeCamera() {
try {
mCameraOpenCloseLock.acquire();
closePreviewSession();
if (null != mCameraDevice) {
mCameraDevice.close();
mCameraDevice = null;
}
if (null != mMediaRecorder) {
mMediaRecorder.release();
mMediaRecorder = null;
}
} catch (InterruptedException e) {
throw new RuntimeException("Interrupted while trying to lock camera closing.");
} finally {
mCameraOpenCloseLock.release();
}
}
private void closePreviewSession() {
if (mPreviewSession != null) {
mPreviewSession.close();
mPreviewSession = null;
}
}
Есть идеи, как заставить closeCamera показывать черный экран?