0

我正在尝试制作一个使用相机捕捉图像的应用程序。

获取位图的代码是:

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 争论,因为我没有保存图像。

4

2 回答 2

0

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

抱歉,在 android 中还不可能,

对于您的应用程序,图像查看器是第三方应用程序,第三方应用程序不能直接使用您的对象数据。

如果设备存储的大小对你来说真的很重要,你可以更好地将图像保存在应用程序的缓存中

或者

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

于 2013-07-08T11:55:29.217 回答
-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);
}
于 2013-07-08T11:09:31.640 回答