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