5

可能重复 停止使用 Android 原生相机保存照片

大家好,我是这样使用Intent打开相机的

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

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

4

1 回答 1

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"); 

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

享受。:))

于 2012-01-25T10:42:26.710 回答