我想在应用程序处于后台时激活摄像机。
所以为了做到这一点,我创建了一个启动/停止摄像机的服务...
问题是我需要在主活动(在我的情况下调用该服务的活动)中创建SurfaceView
以便setPreviewDisplay
。但是当我的应用程序在后台时,我得到Application lost the surface
错误。
我知道我需要一个SurfaceView
来激活摄像机,但是当我的应用程序在后台时,有一个更好的解决方案可以激活摄像机吗?
答案 0 :(得分:0)
我不确定我是否完全理解这个问题,但我认为问题在于Service实际上不是像Activity那样处理与UI相关的类。
尝试将所有相机代码(包括SurfaceView设置)打包到活动中。然后让您的服务通过启动该Activity的Intent来调用该活动。基本上,所有服务都会决定何时需要相机,然后启动活动。
我假设您可以将相机预览显示在屏幕上。