屏幕锁定后相机预览冻结

亨德里克·德·布拉格(Hendrik De Blanger):

我编写的自定义相机应用在屏幕锁定后(通过按锁定按钮或等待几分钟)停止提供预览。我没有例外,这使得很难发现问题。

Android屏幕锁定(如果输入正确的话)是否会暂停/停止/ ...我的应用程序(活动)?

如果是这样,原因可能是我的onPause / onResume方法吗?还是可能有其他原因引起?

提前致谢

codeFood:

我遇到了同样的问题,并使用以下步骤修复了该问题:

  1. 我创建了相机预览,并将其添加到父活动的onResume()中的FrameLayout容器中。就像是:

    public void onResume{
        super.onResume();
        mCamera = Camera.open();
        if(null != mCamera){
            mCamera.setDisplayOrientation(90);
            mPreview = new CameraOverlay(getActivity(), mCamera);
            frLyParent.addView(mPreview);
        }
    }
    
  2. 我在onPause()中删除了视图。这样可以解决冻结问题。

    public void onPause(){
        super.onPause();
        if(null != mCamera){
            mCamera.release();
            mCamera = null;
        }
        frLyParent.removeView(mPreview);
        mPreview = null;
    }
    

其中CameraOverlay()是扩展SurfaceView并实现SurfaceHolder.Callback的类。让我知道您是否需要该实现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章