【问题标题】:stop saving image when open camera using Intent through from my application通过我的应用程序使用 Intent 打开相机时停止保存图像
【发布时间】:2012-01-09 05:28:08
【问题描述】:

可能重复 Stop saving photos using Android native camera

大家好, 我通过这种方式使用 Intent 打开相机

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, ACTIVITY_CAMERA);

很好,给我完美的结果,但问题是这也会将图像保存到 sdcard 中,如何防止这种情况停止保存图像并将该数据用于 onActivityResult() 方法

【问题讨论】:

  • 为什么不在onActivityResult()方法中删除副本
  • 如何获取文件路径?我已经尝试过了,但是在不同的设备中有不同的路径来存储相机捕获的图像

标签: android android-camera android-camera-intent


【解决方案1】:

我不确定,但试试吧。可能对你有帮助。

onActivityResult 我正在获取图像,然后将其存储到另一个位图中。

看这个:

if(resultCode == RESULT_OK && requestCode==TAKE_PHOTO_CODE){
         final File file = getTempFile(this);         
         try {           
             tempBitmap = Media.getBitmap(getContentResolver(), Uri.fromFile(file));
             photoBitmap = Bitmap.createScaledBitmap(tempBitmap, display.getWidth(), display.getHeight(), true);
             takePhotoFromCamera = true;
             // do whatever you want with the bitmap (Resize, Rename, Add To Gallery, etc)         
        } catch (FileNotFoundException e) {           
            e.printStackTrace();         
        } catch (IOException e) {           
            e.printStackTrace();         
        } 
    }

现在,您可以在将文件带到位图后将其删除。所以它可能没有保存到sdcard。

试试看。希望对你有帮助。

或 . . .

使用这个:

获取用户拍摄的最后一张照片的代码:

String[] projection = new String[]
{MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATA,
 MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
 DATE_TAKEN, MediaStore.Images.ImageColumns.MIME_TYPE};

final Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                                   projection, null, null, DATE_TAKEN + " DESC"); 

获得该图像后,将其删除。所以它会帮助你。

享受。 :))

【讨论】:

  • 谢谢,最后一张照片的代码很有用,解决了我的问题。
  • 小心:这是非常非常危险的。在某些设备中,我们从应用中拍摄的图片不会复制到图库。在这种情况下,如果我们删除最后一张拍摄的照片,它会返回从相机应用程序拍摄的照片,因此我们最终会删除错误的照片,而不是从我们的应用程序拍摄的照片。因此,最重要的是,仅删除创建第二个副本的设备(例如 HTC One M8)从图库中拍摄的最后一张照片。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-20
相关资源
最近更新 更多