0

下一个代码适用于 android 2.3 及更低版本,我不明白为什么 HoneyComb 不起作用。UI 有 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()。

4

1 回答 1

0

最后,我可以在按下 btnTakePic 时手动添加 Camera.stopPreview() 来解决这个问题。

问候

于 2011-08-09T19:19:36.630 回答