如何在使用Android相机时删除库中的重复图片?

我使用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();
  ...
上一篇:android – 使用Intent.ACTION_PICK获取特定路径


下一篇:android – 如何实现图库(本地图片)