I am using
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(externalFileObj));
intent to call default camera activity. To get full image you need to specify intent.putExtra(). But this always requires URI that works only for external storage files.
I tried to create a temp.jpg image in internal memory and pass its URI
Uri.fromFile(new File(getFilesDir() + "/temp.jpg"));
but the camera activity won't return back after the image is captured.
So there is no way to get Full size image from default camera application in our activity without using any external storage ? Assuming that the device do not have SD card or currently in use is there no way I can avoid using it ?
Yes I know we can create our own camerapreview surface but I want to use the default camera application as it is natural with many more options.
Thanks.
Ah! I got it. Your files directory in internal memory is private by default and is not writable by external apps (e.g. Camera app is external app)
Just create a new directory in writable mode in your application space (internal memory) and pass this URI to the camera Activity. And everything works fine. No need of external storage to be present at all. Tested and works fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With