在后台激活摄像机

时间:2012-08-06 19:33:08

标签: android camera

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

我假设您可以将相机预览显示在屏幕上。