Arp*_*wal 7 android background-service android-camera2 android-camerax
用例:是我必须在没有任何活动或片段的服务中在后台运行相机
拦截器:新的camerax 会话绑定到生命周期所有者,但该服务没有任何。那么如何获取此对象或在没有它的情况下运行?
已经尝试过:我可以用 Camera2 库做同样的事情,但我想知道是否可以用 Camerax 也因为 Camera2 api 将来可能会被弃用。或者谷歌故意阻止用户在没有活动的情况下运行相机?
请建议
您是否尝试过扩展LifecycleService而不是常规的Service?为此,您需要将其添加androidx.lifecycle:lifecycle-service:2.x.y为 gradle 文件中的依赖项(如果尚未添加)。然后,当您调用bindToLifecycle方法时,您只需this作为参数传递,它应该可以工作:
class ExampleService : LifecycleService() {
// here should be use case implementation
...
processCameraProvider.bindToLifecycle(this, ...)
Run Code Online (Sandbox Code Playgroud)
(免责声明:没有对此进行测试,所以我不能 100% 确定)。
此外,从 Android 11 开始,您应该包含以下代码片段才能使其正常工作:
<manifest>
...
<service ... android:foregroundServiceType="camera" />
Run Code Online (Sandbox Code Playgroud)
更多内容请参见LifecycleService 此处。
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |