android - 如何从 sleep 中恢复相机预览?

标签 android camera preview

我有一个显示相机预览的应用程序,我希望用户能够让手机进入休眠状态然后唤醒它,以便我的应用程序能够正确恢复。问题是当从 sleep 中返回时,相机预览不会重新启动。

我已经实现了 api 演示中介绍的相机预览,但 api 演示示例似乎只能靠运气。在示例中,屏幕方向被强制为横向,这意味着手机每次进入休眠状态时都会进行配置更改,因为锁屏处于纵向模式。如果在相机预览应用程序(如我的应用程序)中使用纵向模式,错误就会浮出水面。

我了解到该错误与表面 View 的重新创建有关。在进入 onPause 时应该始终销毁表面,然后在 onResume 后重新创建,但在进入休眠时不会发生这种情况。看来我必须销毁整个 Activity ,然后重新创建它才能让相机预览再次工作。我希望能够重新创建表面 View 。

除了重新创建整个 Activity 之外,还有其他方法可以强制重新创建 SurfaceView 吗?

最佳答案

一个解决方案可能是在 onResume() 中将 surfaceview 设置为不可见和再次可见,这会使 surfaceview 销毁并重新创建。

关于android - 如何从 sleep 中恢复相机预览?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6519120/

相关文章:

ios - 无法在 Swift 中使用前置摄像头

Opencv 无法访问通过视频捕获设备连接的摄像头

java - 显示方法不正常

java - 随机获取org.json.JSONException : Value <!类型为java.lang.String的DOCTYPE无法转换为JSONObject的错误

Android ImageView -相机

javascript - 如何获得我的网站的实时预览

登录 Sitecore 桌面后重定向到原始 URL

Android 如何从我的应用程序使用 SD 卡中的文件路径预览图像

android - 如何以受控方式模拟 Android 手机的电池消耗?

java - 如何更改 Android 虚拟设备的 CPU/ABI?