Несколько вариантов использования с несколькими жизненными циклами и одной и той же камерой ⇐ Android
-
Гость
Несколько вариантов использования с несколькими жизненными циклами и одной и той же камерой
Я хотел бы отображать предварительный просмотр в Activity, а также периодически выполнять захват изображений в LifecycleService в фоновом режиме (с помощью startForeground()) .
Итак, я создал синглтон с ProcessCameraProvider.
В Activity я делаю:
processCameraProvider.await().run { пытаться { отвязать все() привязкаToLifecycle( это@MainActivity, CameraSelector.DEFAULT_BACK_CAMERA, Preview.Builder().build().также { it.setSurfaceProvider(binding.camera.surfaceProvider) } ) } catch (e: Exception) { Timber.w(e) } } ContextCompat.startForegroundService(this, Intent(this, CaptureService::class.java)) И в LifecycleService я делаю:
processCameraProvider.await().bindToLifecycle( это@CaptureService, CameraSelector.DEFAULT_BACK_CAMERA, imageCapture ) Периодический захват изображений в службе работает должным образом, но как только я привязываю LifecycleService, предварительный просмотр прекращается. Как я могу это исправить?
Я использую CameraX версии 1.4.0-alpha01.
Я хотел бы отображать предварительный просмотр в Activity, а также периодически выполнять захват изображений в LifecycleService в фоновом режиме (с помощью startForeground()) .
Итак, я создал синглтон с ProcessCameraProvider.
В Activity я делаю:
processCameraProvider.await().run { пытаться { отвязать все() привязкаToLifecycle( это@MainActivity, CameraSelector.DEFAULT_BACK_CAMERA, Preview.Builder().build().также { it.setSurfaceProvider(binding.camera.surfaceProvider) } ) } catch (e: Exception) { Timber.w(e) } } ContextCompat.startForegroundService(this, Intent(this, CaptureService::class.java)) И в LifecycleService я делаю:
processCameraProvider.await().bindToLifecycle( это@CaptureService, CameraSelector.DEFAULT_BACK_CAMERA, imageCapture ) Периодический захват изображений в службе работает должным образом, но как только я привязываю LifecycleService, предварительный просмотр прекращается. Как я могу это исправить?
Я использую CameraX версии 1.4.0-alpha01.
Мобильная версия