现在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);
答案 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
图片。