Galaxy Tab 10.1 автоматически вызывает Camera.release () при использовании OnPictureTaken (...) и не должен этого делать - PullRequest
0 голосов
/ 02 августа 2011

Следующий код работает на 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 ().

1 Ответ

0 голосов
/ 09 августа 2011

Наконец-то я мог исправить эту проблему, добавив вручную Camera.stopPreview () при нажатии btnTakePic.

Привет

...