拍照后,相机预览变黑

时间:2013-02-28 13:19:59

标签: android android-camera freeze

在我的Android应用中,我想拍张照片。我有三星galaxy Gio(Android 2.3.3)而我只是使用camera.takePicture(null, null, Activity.this);,在我的Activity中我实现了PictureCallback方法,一切都很好,直到我在索尼Xperia S上检查我的应用程序(Android 4.0) ,在这款手机上,预览没有冻结,但它拍了一张照片,所以我在拍照后添加了camera.stopPreview()功能,现在它在Xperia S上运行正常,但是在我的三星GIO上执行了我的屏幕之后一张照片变成黑色,有没有人知道如何解决它?谢谢你的帮助

这是我的代码:

当用户点击framelayout时,我使用:

case R.id.camera_preview:
        camera.takePicture(null, null, Activity.this);
        break;

在Activity中我实现了picturecallback方法:

public void onPictureTaken(byte[] data, Camera arg1) {
    imageData = data;
    cam_preview.stopPreview();
}

我没有立即保存图像,因为我让用户选择保存或不保存图片

1 个答案:

答案 0 :(得分:0)

来自http://developer.android.com/reference/android/hardware/Camera.html#takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback)

“拍摄图像后将停止预览;如果用户想要重新开始预览或拍摄更多照片,则必须再次调用startPreview()。”

所以根据这个图片回调应该如下:

public void onPictureTaken(byte[] data, Camera arg1) {
     imageData = data;
     cam_preview.startPreview();
}