我正在编写一款使用该设备相机的Android应用,以允许用户拍摄照片。该应用程序没有使用相机的自定义活动,而是与设备的原生相机UI交互以获取图像。
目前,我使用以下代码获取用户拍摄的照片:
// Does the device have a camera activity to handle the photograph intent?
if(takePhotoIntent.resolveActivity(getPackageManager()) != null) {
// Create a file object for the image to be stored in and launch the camera activity.
File imageFolder = new File(Environment.getExternalStorageDirectory() +
"/Android/data/my.app.package.name");
File photoFile = new File(imageFolder, "StackOverflowIsTheBest.jpg");
takePhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePhotoIntent, PHOTO_REQUEST_CODE);
}
问题在于,现在,我将图像存储在设备的外部存储设备上。虽然这有效,但这不是我想要做的。我想将图像存储为应用程序的应用程序数据的一部分,以便当用户重置应用程序时,图像将被删除。我怎么能这样做?我查看了Android开发者文档中的Storage Options页面,但我无法弄清楚如何将其应用到我的项目中。