在默认的android图像查看器中打开图像

时间:2013-07-08 09:18:07

标签: android image

我正在尝试制作一款使用相机拍摄图像的应用。

获取位图的代码是:

super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK){
            Bundle extras = data.getExtras();
            bmp = (Bitmap) extras.get("data");
            iv.setImageBitmap(bmp);
        }

现在我想使用android的默认图像查看器查看图像,而不将其保存到内部或外部存储。

我如何实现这一目标?

我尝试启动Intent.ACTION_VIEW,但这需要一个我没有的uri争论,因为我没有保存图像。

2 个答案:

答案 0 :(得分:0)

  

现在我想使用android的默认图像查看器查看图像   不将其保存到内部或外部存储器中。

Sory它还不可能在android中,

对于您的应用,图片查看器是第三方应用,第三方应用无法直接使用您的对象数据。

如果设备存储的大小确实对您很重要,您可以将图像保存在应用程序的缓存中

您可以将该图像保存在设备存储中,使用第三方应用查看并在此之后将其删除。

答案 1 :(得分:-1)

请尝试使用以下代码。

// open camera  
try {
    Intent action = new Intent(
            "android.media.action.IMAGE_CAPTURE");
    action.putExtra(
            MediaStore.EXTRA_OUTPUT,
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI
                    .toString());
    startActivityForResult(action,
            TAKE_PICTURE_FROM_CAMERA);
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

// save image 

super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
   bmp = (Bitmap) data.getExtras().get("data");

   iv.setImageBitmap(bmp);
}