我试图打开Android相机,并保持它在后台跨多个活动运行不断地为各种长期运行的框架消费者对于玻璃和非玻璃的设备。 这意味着我不能简单地关闭相机时,一个活动停止和重新打开下一个启动时它; 它必须保持打开的整个时间。 我试图创建一个使用的上下文(而不是一个Activity)的申请一个SurfaceView,并直接将其添加到窗口管理器。 这并不让我保持相机打开,但只有当我将它添加为系统的覆盖,这使得实际活动的顶部,使它们无法使用。 其他的事情我都试过,没有工作:
- 使用活动生命周期回调找到活动,他们拿出,并把他们的内容意见前(系统覆盖覆盖所有)
- 调用
SetWillNotDraw(false)
并重写OnDraw()
的自定义SurfaceView的不实际呈现什么 - 调用
SetWillNotDraw(false)
并重写OnDraw()
的自定义SurfaceView来呈现一个黑色矩形覆盖屏幕,不透明和透明 - 设置预览大小为(1,1)打开相机后(仍然呈现全屏)
- 用我的初步活动为背景创建SurfaceView并将其添加到窗口管理器与非接触式标志的应用程序类型(甚至推到后后在上面仍然呈现,并且消耗输入)
- 在设定的位置
WindowManager.LayoutParams
熄灭屏幕(仍呈现在屏幕上)
我跑出来的想法,我不知道我想要什么,甚至有可能。 有什么建议么?