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