我正在创建一个应用程序,其中一部分具有相机预览功能。
我的问题是,如果我在设备上打回家并重新打开应用程序,则相机会像素线化,紫色线穿过它。我假设这与onResume()/ onPause()方法有关,但我在这里停止预览并将相机设置为null(下面)
ON RESUME
@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();
}
ON PAUSE
@Override
public void onPause() {
super.onPause();
if(camera!=null)
{
camera.stopPreview();
camera.release();
camera = null;
inPreview = false;
}
}
我有一个选项让用户重新拍摄他们的照片,如果用户第三次尝试重拍图像我面临同样的问题。我不知道是什么问题,我从
获取了我的相机代码通过一些编辑来满足我的需求。
从阅读和研究看来,我的onPause和onResume似乎是正确的,所以这可能不是问题......
感谢任何帮助
答案 0 :(得分:1)
如果有人喜欢我(学习绳索)遇到同样的问题,我的问题是我添加的
camera.setDisplayOrientation(90);
将预览旋转为纵向。我的问题是,我把它称为错误的地方,我现在用onResume()
方法称它。
最后一个简单的解决方法......谢谢大家