file – How to save images from Camera in Android to specific folder?-ThrowExceptions

Exception or error:

Basically, what I want to do is allow the user to make their own folder and then go to an activity that contains a button to launch the camera.

From there I want to be able to launch the camera and save the camera images into the newly created folder.

I am having trouble with last part of saving the camera images into the newly created folder.

Here is my Code :

 public void onCreate(Bundle savedInstanceState) {

    Button b = (Button) findViewById(;
    b.setOnClickListener(new OnClickListener() {

        EditText text = (EditText)findViewById(; 
        EditText text2 = (EditText)findViewById(;

        public void onClick(View v) {

            final String name = text.getText().toString();
            final String placeName = text2.getText().toString(); 

            String place = placeName.substring(0,3);
            String direct = name + place ;

            File folder = new File("/sdcard/CameraTest/" + direct + "/");

            Intent myIntent = new Intent(CameraTestActivity.this, Press.class);
            myIntent.putExtra("key", "/sdcard/CameraTest/" + direct + "/");


From here I transition into this activity:

public class Press extends Activity {

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        final String direct = this.getIntent().getStringExtra("key");

        // TODO Auto-generated method stub
        Button p = (Button) findViewById(;
        p.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                Intent camera= new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

                startActivityForResult(camera, 1);


    Button np = (Button) findViewById(;
    np.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Intent next = new Intent(Press.this, CameraTestActivity.class);

Please tell me how to save the images from the camera into the newly created folder.

I want the user to be able to take several pictures and then save these several pictures into that specific folder.

How to solve:

add this code before calling camera activity,

Uri uriSavedImage=Uri.fromFile(new File("/sdcard/flashCropped.png"));
camera.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
startActivityForResult(camera, 1);


You should add the file location to the image capture intent.
For example:

camera.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, [file location]);

Take a look here


Try out this….

path = Environment.getExternalStorageDirectory() + "/photo1.jpg";
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY);

and you haven’t implemented onActivityResult() Try out this may help you.

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAPTURE_IMAGE_ACTIVITY) {
        if (resultCode == Activity.RESULT_OK) {
            try {
                // Call function MakeFolder to create folder structure if
                // its not created
                if(imageBitmap != null) {
                    imageBitmap = null;
                // Get file from temp1 file where image has been stored
                BitmapFactory.Options options = new BitmapFactory.Options();
                options.inSampleSize = 3;
                imageBitmap = BitmapFactory.decodeFile(path, options);
                isImageTaken = true;
                // Name for image
                IMAGEPATH = getString(R.string.chassisImage)
                        + System.currentTimeMillis();
            } catch (Exception e) {
                Toast.makeText(this, "Picture Not taken",

Leave a Reply

Your email address will not be published. Required fields are marked *