Android SDK Camera API演示崩溃

时间:2010-01-28 03:01:47

标签: android camera android-emulator

Android SDK有一个用于使用相机预览的API演示。但是,这给了我模拟器中的运行时异常。我在Mac上运行Eclipse 10.6

这是我抓住代码的链接:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html

5 个答案:

答案 0 :(得分:7)

确保您已在AndroidManifest.xml文件中设置了使用相机的权限。将此行放在应用程序标记上方。

<uses-permission android:name="android.permission.CAMERA" />

答案 1 :(得分:4)

我在Nexus One上工作了。

如果您正在尝试编写一个Camera应用程序,那么API演示应用程序将无法提供足够的帮助。下载Android Camera应用程序本身的源代码:

https://android.googlesource.com/platform/packages/apps/Camera

关于您的问题,您将学习的是,您需要将应用限制在清单中的横向模式。在SurfaceChanged中,只需调用startPreview。根本不要设置预览大小。

答案 2 :(得分:0)

关于NexusOne崩溃。

正如 Corey Trager 在评论中提到的那样,在查看2.1 SDK附带的ApiDemos软件包时,缺少权限不是问题。

我发现此问题的一个解决方案只是在CameraPreview中更改请求的预览尺寸

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h){..}

替换此行:

parameters.setPreviewSize(w,h);

parameters.setPreviewSize(352,288);

此决议是G1 DevPhone合法使用的法律解决方案。

答案 3 :(得分:0)

您可以使用

List<Camera.Size> getSupportedPreviewSizes ()

从列表中选择大小

答案 4 :(得分:0)

Google Code Android defects中也提到了这个问题,它可能对您(其中一条评论的底部提到的代码)有所帮助,作为处理预览问题的可能解决方案。