在我的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();
}
我没有立即保存图像,因为我让用户选择保存或不保存图片
答案 0 :(得分:0)
“拍摄图像后将停止预览;如果用户想要重新开始预览或拍摄更多照片,则必须再次调用startPreview()。”
所以根据这个图片回调应该如下:
public void onPictureTaken(byte[] data, Camera arg1) {
imageData = data;
cam_preview.startPreview();
}