Android SDK具有使用相机预览的API演示。但是,这给了我一个模拟器中的运行时异常。我使用Eclipse在Mac上运行10.6Android SDK相机API演示崩溃
此处,我抓住了代码的链接:
Android SDK具有使用相机预览的API演示。但是,这给了我一个模拟器中的运行时异常。我使用Eclipse在Mac上运行10.6Android SDK相机API演示崩溃
此处,我抓住了代码的链接:
关于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的合法解决方案。
我在Nexus One上使用了一些东西。
如果您正在尝试编写相机应用程序,那么API演示应用程序将无法提供足够的帮助。下载源代码的Android相机应用程序本身:
https://android.googlesource.com/platform/packages/apps/Camera
关于你的问题,你会学到的是,你将需要限制您的清单您的应用程序为横向模式。在SurfaceChanged中,只需调用startPreview。根本不要设置预览大小。
您可以使用
List<Camera.Size> getSupportedPreviewSizes()
,并从列表
这个问题在Google Code Android defects也提到挑大小,以及它可能对您有所帮助,在底部中提到的代码作为解决预览问题的可能解决方案之一。
任何时候当您在StackOverflow上提出有关“运行时异常”的问题时,如果您发布堆栈跟踪,这将是一个巨大的帮助。有了这个,我们可以帮忙。没有这个,我们必须随机猜测。您可以通过'adb logcat',DDMS或Eclipse中的DDMS透视图查看堆栈跟踪。 – CommonsWare 2010-01-28 11:44:04