我有一个显示相机预览的应用程序,我希望用户能够让手机进入休眠状态然后唤醒它,以便我的应用程序能够正确恢复。问题是当从 sleep 中返回时,相机预览不会重新启动。
我已经实现了 api 演示中介绍的相机预览,但 api 演示示例似乎只能靠运气。在示例中,屏幕方向被强制为横向,这意味着手机每次进入休眠状态时都会进行配置更改,因为锁屏处于纵向模式。如果在相机预览应用程序(如我的应用程序)中使用纵向模式,错误就会浮出水面。
我了解到该错误与表面 View 的重新创建有关。在进入 onPause 时应该始终销毁表面,然后在 onResume 后重新创建,但在进入休眠时不会发生这种情况。看来我必须销毁整个 Activity ,然后重新创建它才能让相机预览再次工作。我希望能够重新创建表面 View 。
除了重新创建整个 Activity 之外,还有其他方法可以强制重新创建 SurfaceView 吗?
最佳答案
一个解决方案可能是在 onResume() 中将 surfaceview 设置为不可见和再次可见,这会使 surfaceview 销毁并重新创建。
关于android - 如何从 sleep 中恢复相机预览?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6519120/