For security reason, I do not want the photo saved in the sdcard. So after searching, I find a way to save the photo in the intenral storage. The code snippet is as below:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
photo = new File(this.getFilesDir(), BCConstants.CAMERA_IMAGE_NAME);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
ContentProviderForCameraCapture.CONTENT_URI);
And it works for several devices, such as Nexus 4.
But for HTC Wildfire S, I find a duplicate copy in Gallery!
Why? I do not need a twin!