下面的代码可以在Android2.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()。
发布于 2011-08-10 03:19:37
最后,我可以解决这个问题,在按下btnTakePic时手动添加Camera.stopPreview()。
问候
https://stackoverflow.com/questions/6915277
复制相似问题