从我的应用程序使用Intent打开相机时停止保存图像

时间:2012-01-09 05:28:08

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

可能重复 Stop saving photos using Android native camera

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

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

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

1 个答案:

答案 0 :(得分: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();         
        } 
    }

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

试试吧。希望它会对你有所帮助。

或。 。 。

使用此:

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

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

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

享受。 :))