如何从睡眠中恢复相机预览?

Hen*_*nri 7 camera android preview

我有一个显示相机预览的应用程序,我希望用户能够将手机置于睡眠状态,然后唤醒它,以便我的应用程序能够正确恢复.问题是,从睡眠状态返回时,摄像头预览不会重新启动.

我已经实现了api演示中提供的相机预览,但似乎api演示示例仅通过纯粹的运气起作用.在示例中,屏幕方向被强制为横向,这意味着每次手机进入睡眠状态时手机都将进行配置更改,因为锁定屏幕处于纵向模式.如果在相机预览应用程序中使用纵向模式(就像在我的应用程序中),则会出现错误.

我已经知道这个bug与surfaceview的重新创建有关.表面应该在转到onPause时被销毁,然后在onResume之后重新创建,但是在睡觉时不会发生这种情况.似乎我必须销毁整个活动,然后重新创建它以使相机预览再次起作用.我希望能够重新创建surfaceview.

除了重新创建整个活动之外,还有办法强制重新创建surfaceview吗?

小智 5

一种解决方案可能是在onResume()中将surfaceview设置为不可见和可见,这会使surfaceview破坏并重新创建.