Android Camera“Error -1”wenn正在调用camera.takePicture

时间:2012-04-06 17:39:04

标签: android camera android-camera

在我的活动中,我想用android.hardware.Camera拍照。 代码(见下文)在我的AVD中工作正常,但它在我的Android手机上不起作用 - 我得到的只是“错误-1”。

AVD : 目标:Android 2.3.3 SD卡:64 MB WVGA800

电话: 三星Galaxy S2搭载Android 2.3.6

代码
android.hardware.Camera camera = Camera.open();
camera.takePicture(null, null, mPictureCallback);
camera.stopPreview();
camera.setPreviewCallback(null);
camera.release();
camera = null;

清单:
uses-feature android:name="android.hardware.camera"
uses-permission android:name="android.permission.CAMERA"

我不认为PictureCallback很重要 - 当我在onPictureTaken方法中评论所有内容时,会返回相同的错误。 此外,我已重新启动手机,尝试设置一些相机参数等 - 但没有任何帮助。 我找不到相机的这个特定错误代码。

提前致谢!

2 个答案:

答案 0 :(得分:0)

如果没有正确指定 SurfaceView ,它将无效。

即使 SurfaceView 也必须具有最小尺寸。

答案 1 :(得分:0)

您的代码有一个重要的缺失部分。在致电startPreview()之前,您需要致电takePicture()。其他重要的是拍摄的照片可以延迟一点,Java Garbage Colletor可以收集你的相机变量,然后才能得到结果。因此,在Picture Callback方法上释放相机变量。您也不需要明确定义setPreviewCallback(null),您可以从代码中删除它。 在拍摄照片之前避免两次startPreview()的执行是很重要的。禁用接口上的元素,并在Callback方法之后(和内部)启用。