Если ваша ориентация заблокирована, вы, вероятно, можете использовать прослушиватель ориентации для прослушивания изменений в ориентации устройства, и каждый раз, когда вызывается его обратный вызов onOrientationChanged
, вы устанавливаете целевое вращение для случая использования захвата изображения.
val orientationEventListener = object : OrientationEventListener(context) {
override fun onOrientationChanged(orientation: Int) {
imageCapture.targetRotation = view.display.rotation
}
}
Представлением, используемым для поворота, может быть любое представление, например, представление root, если вы находитесь во фрагменте, или только представление предварительного просмотра. Вы также можете включить / отключить этот прослушиватель в onResume
и onPause
.
ps: способ настройки вариантов использования может вызвать проблемы. Варианты использования не должны быть инициализированы до запуска камеры. Вы должны построить варианты использования после этой строки val cameraProvider = cameraProviderFuture.get()
.