Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>ok.. try this... whole code in your camera App</p> <pre><code>public class CameraImage extends Activity implements SurfaceHolder.Callback, OnClickListener { static final int FOTO = 0; Camera camera; boolean previewRunning = false; private final Context mContext = this; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); getWindow().setFormat(PixelFormat.TRANSLUCENT); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.camera_image); sv = (SurfaceView) findViewById(R.id.camera); sv.setOnClickListener(this); sh = sv.getHolder(); sh.addCallback(this); sh.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); } Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() { public void onPictureTaken(byte[] imageData, Camera c) { if (imageData != null) { Intent mIntent = new Intent(); StoreByteImage(mContext, imageData, 50, "ImageName"); camera.startPreview(); setResult(FOTO, mIntent); finish(); } } }; @Override protected void onResume() { super.onResume(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } @Override protected void onStop() { super.onStop(); } public void surfaceCreated(SurfaceHolder holder) { camera = Camera.open(); } public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { // XXX stopPreview() will crash if preview is not running if (previewRunning) { camera.stopPreview(); } Camera.Parameters p = camera.getParameters(); p.setPreviewSize(w, h); camera.setParameters(p); try { camera.setPreviewDisplay(holder); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } camera.startPreview(); previewRunning = true; } public void surfaceDestroyed(SurfaceHolder holder) { camera.stopPreview(); previewRunning = false; camera.release(); } private SurfaceView sv; private SurfaceHolder sh; public void onClick(View arg0) { camera.takePicture(null, mPictureCallback, mPictureCallback); } public static boolean StoreByteImage(Context mContext, byte[] imageData, int quality, String expName) { File sdImageMainDirectory = new File("/sdcard"); FileOutputStream fileOutputStream = null; try { long name = new Date().getTime(); BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize = 1; Bitmap myImage = BitmapFactory.decodeByteArray(imageData, 0, imageData.length,options); fileOutputStream = new FileOutputStream(sdImageMainDirectory.toString() +"/"+Long.toString(name)+".jpg"); BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream); myImage.compress(CompressFormat.JPEG, quality, bos); DataModel dbModel = new DataModel(mContext); Calendar cal = Calendar.getInstance(); dbModel.insertMultimedia(sdImageMainDirectory.toString() +"/"+Long.toString(name)+".jpg", Long.toString(name), cal); bos.flush(); bos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return true; } } </code></pre> <p>I hope this will certainly work</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload