I ran into an issue with something that I am probably just overlooking.
I want to take a picture from the surface preview of the camera, and save it to the sd_card. This works ALMOST perfect. I assigned it a file name, but it does not use the filename.
This is what I have been trying to do :
Button imagecapture = (Button) findViewById(R.id.imagecapture); imagecapture.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { String filename = null; ImageCaptureCallback iccb = null; try { filename = timeStampFormat.format(new Date()); ContentValues values = new ContentValues(); values.put(Media.TITLE, filename); values.put(Media.DESCRIPTION, 'Image capture by camera'); Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values); iccb = new ImageCaptureCallback(getContentResolver().openOutputStream(uri)); } catch (Exception ex) { ex.printStackTrace(); Log.e(getClass().getSimpleName(), ex.getMessage(), ex); } camera.takePicture(mShutterCallback, mPictureCallbackRaw, iccb); com.froogloid.android.gspot.Park.imageFileName = filename; } });
It won’t use the filename (i.e. time/date stamp I ask it to.)
This was resolved by implementing PictureCallback via a ImageCaptureCallback class, and Overriding the onPictureTaken where the file was being written via a file output stream. All you had to do was change the fileoutput stream to the filename you want.