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