Android SDK摄像头API演示崩溃

Android SDK摄像头API演示崩溃,android,camera,android-emulator,Android,Camera,Android Emulator,Android SDK有一个API演示,用于使用相机预览。但是,这在emulator中给了我一个运行时异常。我在10.6版本的Mac上运行Eclipse 以下是我获取代码的链接: 确保您在AndroidManifest.xml文件中设置了使用相机的权限。将此行置于应用程序标记上方 <uses-permission android:name="android.permission.CAMERA" /> 关于NexusOne崩溃 正如Corey Trager在其评论中提到的,在查看2.

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

以下是我获取代码的链接:


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

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

关于NexusOne崩溃

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

我发现解决这个问题的一个方法就是在CameraPreview中更改所请求的预览大小

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h){..}
替换此行:

parameters.setPreviewSize(w,h);


此决议是G1 DevPhone使用的法律决议。

我在Nexus One上做了一些事情

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

关于您的问题,您将了解到,您需要在清单中将应用程序限制为横向模式。在SurfaceChanged中,只需致电startPreview。根本不设置预览大小。

您可以使用

列出getSupportedPreviewSizes()


并从列表中选择大小

此问题也在其中一条注释底部提到的代码中提到,它可能对您有所帮助,作为处理预览问题的可能解决方案。

任何时候您询问有关StackOverflow的“运行时异常”问题时,如果您发布堆栈跟踪,这将是一个巨大的帮助。有了这一点,我们或许可以提供帮助。没有这一点,我们只能随机猜测。您可以通过Eclipse中的adb logcat、DDMS或DDMS透视图查看堆栈跟踪。非常感谢,我希望他们在演示代码中提到这一点。相机预览对我来说崩溃,没有任何有用的信息,即使在调试器中,在实际的Nexus One设备上运行时也是如此。“使用”权限行已在清单中。
parameters.setPreviewSize(352,288);