我编写的自定义相机应用程序在屏幕锁定后停止提供预览(通过按下锁定按钮或等待几分钟)。我没有得到异常,这使得很难找到问题。
Android 屏幕锁定(如果这是正确的术语)是否暂停/停止/...我的应用程序( Activity )?
如果是这种情况,原因可能是我的 onPause/onResume 方法吗?还是更可能是另一个原因?
提前致谢
最佳答案
我遇到了同样的问题并使用以下步骤解决了它:
我创建了我的相机预览并将其添加到父 Activity 的 onResume() 中的容器 FrameLayout 中。比如:
public void onResume{ super.onResume(); mCamera = Camera.open(); if(null != mCamera){ mCamera.setDisplayOrientation(90); mPreview = new CameraOverlay(getActivity(), mCamera); frLyParent.addView(mPreview); } }
我删除了 onPause() 中的 View 。这修复了卡住。
public void onPause(){ super.onPause(); if(null != mCamera){ mCamera.release(); mCamera = null; } frLyParent.removeView(mPreview); mPreview = null; }
其中CameraOverlay() 是扩展SurfaceView 并实现SurfaceHolder.Callback 的类。如果您需要该实现,请告诉我。
关于java - 屏幕锁定后相机预览卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16396297/