我已經在Android SDK上測試了我的應用程序,從1.5到2.2,我的活動中的相機代碼工作正常。在裝有2.1的設備上運行它也正在運行。但同樣的應用程序不適用於HTC Desire和Nexus One上的2.2以及應用程序崩潰。任何想法爲什麼他們可能會發生?Android 2.2中的相機崩潰
正在使用import android.hardware.Camera;。
裏面的onCreate我有這樣的:
preview = (SurfaceView) findViewById(R.id.preview);
previewHolder = preview.getHolder();
previewHolder.addCallback(surfaceCallback);
previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
而且回調
SurfaceHolder.Callback surfaceCallback = new SurfaceHolder.Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
camera.stopPreview();
camera.release();
camera = null;
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
try {
camera.setPreviewDisplay(previewHolder);
} catch (Throwable t) {
Log.e(TAG, "Exception in setPreviewDisplay", t);
Toast.makeText(CameraActivity.this, t.getMessage(),
Toast.LENGTH_LONG).show();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(width, height);
camera.setParameters(parameters);
camera.startPreview();
}
};
一般來說,大多數SO涉及一個Android崩潰最終將問題得到忽略,除非您包括logcat的誤差跟蹤的複製粘貼。這很容易做到,並且通常可以幫助其他開發人員很快識別問題。 – 2010-10-14 18:31:40
它沒有崩潰在我的SDK和Android 2.1上。所以在logcat中看不到任何錯誤(我在SDK中試過並且它工作正常)。碰撞幾百公里外的朋友的電話。 :( – Abhinav 2010-10-14 18:50:46