Android – Take picture without preview

You can’t take a picture without a preview, but you don’t have to show the preview on screen. You can direct the output to a SurfaceTexture instead (API 11+).

See this answer for more details.