0

我正在创建一个应用程序,其中一部分具有相机预览。

我的问题是,如果我在设备上回家并重新打开应用程序,相机就会被像素化,并带有穿过它的紫色线条。我曾认为这与 onResume() / onPause() 方法有关,但在此我停止预览并将相机设置为 null(下)

简历上

@Override
    public void onResume() {

        //Registering the Listener
        super.onResume();
        manager.registerListener(this,
                manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                manager.SENSOR_DELAY_NORMAL);

        //Opening the Camera and Starting the Preview
        camera = Camera.open();
        startPreview();
    }

暂停

    @Override
    public void onPause() {

        super.onPause();
        if(camera!=null)
        {
            camera.stopPreview();
            camera.release();
            camera = null;
            inPreview = false;

        }
    }

我可以选择让用户重新拍摄他们的照片,如果用户第三次尝试重新拍摄图像,我将面临同样的问题。我不知道问题是什么,我从

https://github.com/commonsguy/cw-advandroid/blob/master/Camera/Preview/src/com/commonsware/android/camera/PreviewDemo.java

稍加编辑以满足我的需要。

从阅读和研究看来,我的 onPause 和 onResume 是正确的,所以这可能不是问题......

任何帮助表示赞赏

4

1 回答 1

1

如果像我这样的人(学习绳索)遇到同样的问题,我的问题是我添加了

camera.setDisplayOrientation(90);

为了将预览旋转为纵向。我的问题是,我在错误的地方调用了它,我现在在onResume()方法中调用它。

最后一个简单的修复......谢谢大家

于 2013-07-26T10:31:59.743 回答