解决方法:
sv.setZOrderOnTop(true);sv.setZOrderMediaOverlay(true);
//设置该surface放置在window最上方显示出来,而之前按Home键再返回拍照黑屏就是因为surface在window、下方
SurfaceView.setZOrderOnTop(true);添加这句代码可以解决黑屏问题,但是SurfaceView上的控件被遮挡了
SurfaceView.setZOrderMediaOverlay(true);//加这句的话解决SurfaceView上的控件都被遮挡的问题
setZOrderMediaOverlay(boolean isMediaOverlay),源码中对这个方法的描述:
Control whether the surface view‘s surface is placed on top of another regular surface view in the window (but still behind the window itself).This is typically used to place overlays on top of an underlying media surface view.
Note that this must be set before the surface view‘s containing window is attached to the window manager.
Calling this overrides any previous call to {@link #setZOrderOnTop}.
大概的意思就是说控制窗口中表面的视图层是否放置在常规视图层的顶部