我使用Android相机在我的活动中拍照:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getImagePath());
startActivityForResult(intent, TAKE_PHOTO_CODE);
当我离开相机应用程序时,照片会保存在两个地方:
>在getImagePath()方法指定的路径上(这是正确的);
>进入画廊.我不是那样的.
如何防止将照片保存到图库中?如果我不能这样做,我如何在onActivityResult()中获取照片路径,以便删除它?
解决方法:
对于Intent.ACTION_GET_CONTENT,您可以删除图库文件(将其复制到您的文件夹后).也许这也适用于MediaStore.ACTION_IMAGE_CAPTURE(使用MediaStore.EXTRA_OUTPUT).我使用以下代码片段从Intent.ACTION_GET_CONTENT返回时删除图库文件:
public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Uri u = data.getData();
new File(getRealPathFromURI(u)).delete();
...