when using the Camera.PreviewCallback implementation the onPreviewFrame is called without problem after initializing camera and starting preview (Camera.startPrevew()). The
You should call it within new instantiation of previewCallBacks() interface, like below
public void surfaceCreated(SurfaceHolder holder) {
// if (mediaRecorder == null) {
try {
camera = Camera.open();
camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] _data, Camera _camera) {
}
}
}
}