在 Android 上开发自定义相机时,实现 onPause、onResume、surfaceCreated 和 surfaceDestroyed 的正确方法是什么?

What is the proper method of implementing onPause, onResume, surfaceCreated and surfaceDestroyed when developing a custom camera on Android?

我目前正在开发一个自定义相机应用程序,该应用程序使用 MediaRecorder 拍摄 5 秒的视频。我实现了一个从 5 开始倒数的数字倒计时叠加层。

我的问题是我不是 100% 确定如何实现表面方法和 pause/resume 方法。如果我在录制中途关闭我的应用程序然后再次打开它,应用程序会冻结、显示黑屏并最终崩溃。

onPause和surfaceDestroyed要一起用吗? (同样的问题适用于 onResume 和 surfaceCreated)surfaceChanged 如何适应这个?

我猜我需要找到一种方法在每次恢复时重新启动我的 CameraActivity。 (因为我不希望它在倒计时中途恢复)。

您应该查看 Activity 生命周期 onPause 和 onResume 以创建和销毁相机。

http://developer.android.com/training/basics/activity-lifecycle/pausing.html#Pause