The easy workaround would be to use CameraPreview.post()
to release camera after your callback returns:
public class CameraPreview … {
void Myfunction() {
…
this.post(new Runnable() {
public void run() {
mCamera.release();
mCamera = null;
}
}
…
}
}