Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在我的应用程序在后台时激活摄像机。 所以为了做到这一点,我创建了一个启动/停止摄像机的服务...... 问题是我需要SurfaceView在主要活动中创建一个(在我的情况下调用该服务的那个),以便setPreviewDisplay. 但是当我的应用程序在后台时,我得到了Application lost the surface错误。
SurfaceView
setPreviewDisplay
Application lost the surface
我知道我需要一个SurfaceView才能激活摄像机,但是当我的应用程序在后台时,有更好的解决方案来激活摄像机吗?
我不确定我是否完全理解这个问题,但我认为问题在于 Service 真的不打算像 Activity 那样处理与 UI 相关的类。
尝试将所有相机代码(包括 SurfaceView 设置)打包到一个 Activity 中。然后让您的服务通过启动该 Activity 的 Intent 来调用该 Activity。基本上,Service 所做的只是决定何时需要相机,然后启动 Activity。
我假设您对相机预览将出现在屏幕上这一事实感到满意。