我正在尝试制作一款使用相机拍摄图像的应用。
获取位图的代码是:
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争论,因为我没有保存图像。
答案 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);
}