先说一下如何获得本地图片的路径。

//点击图片事件
ib.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {getImageFromAlbum();}});//调用本地图片库protected void getImageFromAlbum() {Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(i, 2);}//获取本地图片路径并加载图片@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == 2 && resultCode == RESULT_OK) {Uri u = data.getData();ContentResolver cr = AddActivity.this.getContentResolver();try {Bitmap bmp = BitmapFactory.decodeStream(cr.openInputStream(u));ib.setImageBitmap(bmp);String[] filePathColumn = { MediaStore.Images.Media.DATA };Cursor cursor = context.getContentResolver().query(u,filePathColumn, null, null, null);cursor.moveToFirst();int columnIndex = cursor.getColumnIndex(filePathColumn[0]);//Path就是图片在储存卡所在的位置path = cursor.getString(columnIndex);} catch (Exception e) {e.printStackTrace();}}super.onActivityResult(requestCode, resultCode, data);}

ImageView通过加载路径显示图片。

 Bitmap bmp= BitmapFactory.decodeFile(path);ib.setImageBitmap(bmp);

当然还要在AndroidManifest.xml文件中加入权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

但是即使是这样,ImageView仍然无法显示图片,可是路径是对的啊,权限也已经加上了啊。

AS会显示这个错误:

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/Download/timg (2).jpg (Permission denied)

提示的错误就是没有加载这个图片的权限。

可是刚刚不是已经在AndroidManifest.xml这个文件中加入了吗?

通过一番调查发现,原来android6.0之后不仅需要在Mainfest里面添加权限,还需要添加运行时权限。

这样的话就得在程序中加入如下代码:

 @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_add);//允许开启访问本地文件权限requestWritePermission();init();OnClick();}private void requestWritePermission(){if (ActivityCompat.checkSelfPermission(AddActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(AddActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},1);}}

这样的话在运行程序时,如果加载图片,它会有如下提示:

就是问你这个程序能否访问你的设备,此时点击ALLOW,就会显示图片了。

ImageView加载图片 路径没问题,图片不显示相关推荐

  1. ImageView 加载本地(手机)图片

    *把手机里的某张照片加载到ImageView里的方法有三种: ivPicture 为 获取ImageView里的控件名 第一种: ps:若多次设置:setImageURI(uri),若uri不变,即使 ...

  2. android 图片变量,Android开发实现ImageView加载摄像头拍摄的大图功能

    本文实例讲述了Android开发实现ImageView加载摄像头拍摄的大图功能.分享给大家供大家参考,具体如下: 这个方法是从官方demo中摘录的,在此记录学习. 权限 android:name=&q ...

  3. iOS 加载本地HTML文件,图片没显示出来的问题

    iOS 加载本地HTML文件,图片没显示出来的问题,一般都是路径的问题.在HTML中,用的是绝对路径类似,而在项目中,一般 都是相对路径.例如:在HTML中, src="images/qq. ...

  4. el-image中src加载assets路径下图片使用require避免加载不到

    场景 el-image中图片的数据源加载assets路径下的照片. 正确加载方式. <el-imagestyle="width: 732px; height: 48px":s ...

  5. android 加载网络bitmap图片 oom 简书_Android常见问题--ImageView加载图片OOM

    开发中给ImageView加载一个高质量图片时,APP抛出了"Canvas: trying to draw too large(840253440bytes) bitmap."的异 ...

  6. Android开发 - ImageView加载Base64编码的图片

    在我们开发应用的过程中,并不是所有情况下都请求图片的URL或者加载本地图片,有时我们需要加载Base64编码的图片.这种情况出现在服务端需要动态生成的图片,比如: 二维码 图形验证码 - 这些应用场景 ...

  7. Android LruCache和DiskLruCache相结合打造图片加载框架(仿微信图片选择,照片墙)

    LrcCache和DiskLruCache相结合打造图片加载框架 转载请标明出处:http://blog.csdn.net/luoshishou/article/details/51299169 源码 ...

  8. vue本地项目配置图片加载失败_vue图片加载失败时用默认图片替换的方法

    vue图片加载失败时用默认图片替换的方法 前言 本文主要给大家介绍的关于vue实现图片加载失败时用默认图片替换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 原理 ...

  9. Glide加载自签名的https图片

    前言 Glide默认加载http或者通过CA认证了的https图片都是没问题的,但是当加载自签名的https图片的时候就会报如下错误(证书路径验证异常). 一.原理 对于加载自签名的https图片,我 ...

  10. android动画超出圆角,Android关于Glide的使用(高斯模糊、加载监听、圆角图片)

    高斯模糊.加载监听.圆角图片这些相信大家都很熟悉,那如何实现这些效果,请大家参考本文进行学习. 1.引用 compile 'com.github.bumptech.glide:glide:3.7.0' ...

最新文章

  1. LeetCode Rotate Array(数组的旋转)
  2. 不同分辨率的LCM进行兼容
  3. htmlcss实例小项目_HTMLCSS学习笔记(十九)-- 媒体查询
  4. 《Adobe After Effects CS6中文版经典教程》——1.3 创建合成图像与组织图层
  5. 反编译工具dnspy的安装与使用;
  6. Python 依赖库
  7. 使用java将字符串写入到指定的文件中
  8. php+mysql记事本_一个简单记事本php操作mysql辅助类创建
  9. redis——redis事务相关处理
  10. 近期两篇双目图像超分辨算法论文解读 |AAAI2020 SPL2020
  11. 依据imu姿态角计算z轴倾角_[姿态估计] DenseFusion详解
  12. linux php zend load,在Linux系统中为PHP5.3安装Zend Guard Loader
  13. MongoDB(一)——简介
  14. ams1117 lm317 对比_最受电子工程师欢迎的10款经典稳压电源器件,电路当中经常用到...
  15. linux用迅雷下载软件,wine 迅雷下载安装(wine 迅雷极速版)
  16. c语言水王争霸链表,水王争霸
  17. CSS3简明教程-1.1.CSS3是什么
  18. 向量余弦值(Cosine)(C#)
  19. 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
  20. matlab矩阵转化成一行向量

热门文章

  1. lpc54606详细介绍_LPC54606 ADC 跳变
  2. 软件开发中常见英文缩写和各类软件开发文档的英文缩写
  3. C#datatable总结
  4. springboot dubbo 多模块项目dubbo提供者和消费者配置及代码
  5. 微软日历/outlook日历去除生日日历,只要点个设置!
  6. 【C#】解决MouseHook捕获鼠标动作,在有些电脑上SetWindowsHookEx失败返回0的问题
  7. 计算机进入vga模式,VGA模式
  8. linux恐怖的命令
  9. 这世界很大,这世界也很小
  10. 阿里云服务器美国西部 1、美国西部 2、美国东部 1、 美国东部 2是哪个城市