Следующий код работает на Android 2.3 и ниже, я не понимаю, почему на HoneyComb не работают. Пользовательский интерфейс имеет 3 кнопки: btnTakePic, btnDiscard, btnSave:
if(v.getId()==btnTakePic.getId()){
Log.v("Camarita", "BtnTake inicia");
if(cameraPreview){
callback = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
dataTemp=new byte[data.length];
System.arraycopy(data,0,dataTemp , 0, data.length);
}
};
mCamera.takePicture(null, null, callback);
callback=null;
cameraPreview=false;
}else{
//NOTHING
}
}
btnDiscard очистить массив dataTemp и вызвать Camera.startPreview (). btnSave сохраните изображение из dataTemp и очистите dataTemp. Затем вызовите Camera.startPreview ().