title: Take Picture without preview Android
body: <p>I would like to take a picture without any preview. I used this code but I'm getting an error:</p>
  
  <pre><code> public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
  
      Camera.Parameters parameters = camera.getParameters();
      parameters.setPictureFormat(PixelFormat.JPEG);
      camera.setParameters(parameters);
      SurfaceView mview = new SurfaceView(getBaseContext());
      try {
          camera.setPreviewDisplay(mview.getHolder());
          camera.startPreview();
          camera.takePicture(null,null,photoCallback);
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
  
  
  
  
  }
  
   Camera.PictureCallback photoCallback=new Camera.PictureCallback() {
      public void onPictureTaken(byte[] data, Camera camera) {
  
          Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());
          OutputStream imageFileOS;
  
          try {
  
              imageFileOS = getContentResolver().openOutputStream(uriTarget);
              imageFileOS.write(data);
              imageFileOS.flush();
              imageFileOS.close();
  
              Toast.makeText(AndroidTestJNIActivity.this, "Image saved: " + uriTarget.toString(), Toast.LENGTH_LONG).show();
  
          } catch (FileNotFoundException e) {
              e.printStackTrace();
  
          } catch (IOException e) {
              e.printStackTrace();
  
          }
          finish();
  
      }
  };
  </code></pre>
  
  <p>I get a NullPointerException when I try to access camera. I don't know how to initialize it. I think the problem is that camera is never initialized.</p>
  
  <pre><code> 05-29 14:40:20.330: E/AndroidRuntime(15571): FATAL EXCEPTION: main
   05-29 14:40:20.330: E/AndroidRuntime(15571): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.achillessecurity.androidtestjni/com.achillessecurity.androidtestjni.AndroidTestJNIActivity}: java.lang.RuntimeException: Fail to connect to camera service
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
  05-29 14:40:20.330: E/AndroidRuntime(15571):    at android.app.ActivityThread.access$1500(ActivityThread.java:123)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.os.Handler.dispatchMessage(Handler.java:99)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.os.Looper.loop(Looper.java:130)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.app.ActivityThread.main(ActivityThread.java:3835)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at java.lang.reflect.Method.invokeNative(Native Method)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at java.lang.reflect.Method.invoke(Method.java:507)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at dalvik.system.NativeStart.main(Native Method)
   05-29 14:40:20.330: E/AndroidRuntime(15571): Caused by: java.lang.RuntimeException: Fail to connect to camera service
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.hardware.Camera.native_setup(Native Method)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.hardware.Camera.&lt;init&gt;(Camera.java:258)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.hardware.Camera.open(Camera.java:235)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at com.achillessecurity.androidtestjni.AndroidTestJNIActivity.onCreate(AndroidTestJNIActivity.java:42)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
   05-29 14:40:20.330: E/AndroidRuntime(15571):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722)
  </code></pre>
  
  <p>I initialize camera by:
      <code>camera= Camera.open();</code></p>