0

我想在我的应用程序在后台时激活摄像机。
所以为了做到这一点,我创建了一个启动/停止摄像机的服务......

问题是我需要SurfaceView在主要活动中创建一个(在我的情况下调用该服务的那个),以便setPreviewDisplay. 但是当我的应用程序在后台时,我得到了Application lost the surface错误。

我知道我需要一个SurfaceView才能激活摄像机,但是当我的应用程序在后台时,有更好的解决方案来激活摄像机吗?

4

1 回答 1

0

我不确定我是否完全理解这个问题,但我认为问题在于 Service 真的不打算像 Activity 那样处理与 UI 相关的类。

尝试将所有相机代码(包括 SurfaceView 设置)打包到一个 Activity 中。然后让您的服务通过启动该 Activity 的 Intent 来调用该 Activity。基本上,Service 所做的只是决定何时需要相机,然后启动 Activity。

我假设您对相机预览将出现在屏幕上这一事实感到满意。

于 2012-08-06T20:39:10.860 回答