Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: Getting file name from camera?

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.)

like image 581
Chrispix Avatar asked Jan 18 '09 20:01

Chrispix


1 Answers

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.

like image 180
Chrispix Avatar answered Oct 05 '22 05:10

Chrispix