Falhas na câmera no Android 2.2

Testei meu aplicativo no SDK do Android em tudo, de 1,5 a 2,2, e o código da câmera em minha atividade funciona bem. A execução em um dispositivo com 2.1 também está funcionando. Mas o mesmo aplicativo não funciona com o 2.2 no HTC Desire e no Nexus One e o aplicativo trava. Alguma idéia de por que eles podem estar acontecendo?

Divertidoimportar android.hardware.Camera;.

Dentro do onCreate, tenho o seguinte:

preview = (SurfaceView) findViewById(R.id.preview);
        previewHolder = preview.getHolder();
        previewHolder.addCallback(surfaceCallback);
        previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

E o retorno de chamada é

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();
    }
};

questionAnswers(3)

yourAnswerToTheQuestion