如何在不保存其他位置的情况下打开图像?

时间:2017-12-30 09:42:40

标签: android

现在file:// uri不受支持。人们说使用FileProvider但我想我必须在app数据位置保存图像才能使用它。有没有办法获取内容:// URI不保存数据目录中的图像。我想从库中的SD卡中打开图像。这下面的代码适用于旧手机,在android 7之后无法正常工作。 FileUriExposedException示例图像文件在dcim文件夹中我的旧代码是这个

    File pic2toview  = new File(imagepath);
    Intent i = new Intent();
    i.setAction(android.content.Intent.ACTION_VIEW);
    i.setDataAndType(Uri.fromFile(pic2toview), "image/*");
    startActivity(i);

1 个答案:

答案 0 :(得分:1)

按意图从图库中选择图像的代码

Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, "Select Image"), PICK_IMAGE_REQUEST);

然后在onActivityResult

处理
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {

        imageUrl = data.getData();
  }
}

此处imageUrl是从图库中选择的Uri图片。