如何在内存中保存图片(不在内部存储中)

时间:2017-02-21 07:07:42

标签: android

请查看以下代码。

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(intent, PICK_FROM_CAMERA);

此代码用于调用相机功能。 拍完照片之后,onActivityResult的方法让我回到了Uri,这样我就可以获得图片内部存储的绝对路径。但是,我想将图片用于临时使用。也就是说,我不希望图片存储在内部存储中。我需要绝对路径将图片变成File对象。那么,有没有办法将图片存储在分配给我的应用程序的内存中?

public void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);

    if(resultCode != RESULT_OK)
        return;

    if(requestCode == PICK_FROM_CAMERA){

        imageUri = data.getData();
        Log.d("메시지", "uri = "+imageUri);


        Cursor c = this.getContentResolver().query(imageUri, null, null, null, null);
        c.moveToNext();
        absolutePath = c.getString(c.getColumnIndex(MediaStore.MediaColumns.DATA));

    }
}

1 个答案:

答案 0 :(得分:0)

为此,您可以使用缓存目录:

File storagePath = new File(getCacheDir() + "/" + "YOUR_FILE_NAME.JPG");