roshca181
roshca181

Reputation: 53

save the photos from camera to android internal storage

I successfully save the pictures from android camera to using the following root paths

Environment.getExternalStorageDirectory()

and

context.getExternalFilesDir(null)

but I cannot save using the following root path

context.getFilesDir()

Do you know if it is possible to save the pictures taken from android camera to the android internal storage which have context.getFilesDir() as root folder?

I use the following code to start the camera:

    Intent takePictureIntent = new  
             Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(picFile));
            startActivityForResult(takePictureIntent, REQUEST_TAKE_PICTURE);

//and this code I used to get the camera output


 @Override
           public void onActivityResult(int requestCode, int resultCode,
            Intent data) {
        if ((requestCode == REQUEST_TAKE_PICTURE) && (resultCode ==
            Activity.RESULT_OK)
                ) {
            Toast.makeText(this, "Can get the image.",   
             Toast.LENGTH_LONG).show();

            //Bitmap photo = (Bitmap) data.getExtras().get("data");     

          //  System.out.println("photo "+photo.getWidth());
//          final ImageView imageView = (ImageView) findViewById(R.id.imageView1);            
//            imageView.setImageBitmap(photo);        
            } else if ((requestCode == REQUEST_TAKE_PICTURE) && (resultCode == Activity.RESULT_CANCELED)) {

                Toast.makeText(this, "Cannot get the image.", Toast.LENGTH_LONG).show();
            } 

        }

Upvotes: 1

Views: 357

Answers (1)

CommonsWare
CommonsWare

Reputation: 1006914

You cannot use getFilesDir(), because you are launching a third-party camera app to take the picture, and it cannot write to your app's internal storage.

Upvotes: 1

Related Questions