我只需要获取相机预览数据,而不是可见预览。由于我在服务中完成所有这些工作,因此我必须创建一个虚拟的 SurfaceView,它工作得非常好。
我使用了这个答案中的代码: https ://stackoverflow.com/a/10268650/1395697
但是,TYPE_SYSTEM_OVERLAY
它没有用。它是不可见的,但没有收到预览数据(在 中onPreviewFrame()
)。当我将此参数更改为 0 时,我会获得预览数据,但它SurfaceView
是可见的。
你知道其他方法吗?
我现在所做的只是使SurfaceView
宽度和高度为 1 的可见,然后创建ImageView
具有特定颜色的叠加层,这样您就看不到SurfaceView
. 但这一点都不整洁,我真的想做得更好一点。