在做项目的时候,需要调取手机本地的图片并上传到服务器,在小米手机上测试的时候,获取的cursor为null,在其他手机上是没有问题,查询资料发现,在Android4.4之后返回的不再是图片的绝对路径,而是图片的编码,我们需要做一些转换处理才能使用

老子是有素质的人

public static Uri geturi(Intent intent,Context context) {

Uri uri = intent.getData();

String type = intent.getType();

if (uri.getScheme().equals("file") && (type.contains("image/"))) {

String path = uri.getEncodedPath();

if (path != null) {

path = Uri.decode(path);

ContentResolver cr = context.getContentResolver();

StringBuffer buff = new StringBuffer();

buff.append("(").append(MediaStore.Images.ImageColumns.DATA).append("=")

.append("'" + path + "'").append(")");

Cursor cur = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,

new String[] { MediaStore.Images.ImageColumns._ID },

buff.toString(), null, null);

int index = 0;

for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {

index = cur.getColumnIndex(MediaStore.Images.ImageColumns._ID);

index = cur.getInt(index);

}

if (index == 0) {

} else {

Uri uri_temp = Uri

.parse("content://media/external/images/media/"

+ index);

if (uri_temp != null) {

uri = uri_temp;

}

}

}

}

return uri;

}

利用这个方法获得的路径就是正确的图片路径了,不止在小米手机上,在其他手机上也能用,其中参数intent是onActivityResult中的参数Intent data。

最后来张雍正的图片镇楼,专治bug(八阿哥),希望程序员少遇到点坑。

我最可爱

头条号申请者 :飞奔的小付

android 小米相册无法获取,小米手机调用系统相册异常相关推荐

  1. android手机调用系统相册(兼容小米手机)

    在android项目中我们往往会选择照片 , 比较懒的方式肯定是直接调用系统相册, 当然你也可以自己写一个相册读取 , 总结下我在项目中遇到的问题吧 , 目前是发现小米手机调用系统相册竟然弹出来一个选 ...

  2. android 代码调用 相册 小米,关于小米手机调用系统相册崩溃的问题

    最近在使用第三方聊天插件leancloud的时候,调用系统相册的图片,相同的代码.小米手机选择了图片之后,小米机会崩掉(别的机子,啥版本都没问题).看异常信息,指示cursor.moveToFirst ...

  3. 小米手机调用系统相册直接失败,无法显示bug

    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startA ...

  4. 【相册】华为手机调用系统相册的问题

    1. 正常启动系统相册是这样 Intent intent=new Intent(Intent.ACTION_GET_CONTENT); 2. 为避免华为问题,最好这样 Intent openAlbum ...

  5. android+代码调用+相册+小米,Android调用系统相册选择图片,支持小米4云相册

    用小米4调用系统相册选择照片时,如果云相册功能开启的话.云相册中的图片也会显示在选择列表中.经过测试,选择到云相册中的图片的话,uri的scheme是file,而不再试content.本文支持云相册的 ...

  6. android 调用相册功能吗,Android调用系统相册选择图片,支持小米4云相册

    用小米4调用系统相册选择照片时,如果云相册功能开启的话.云相册中的图片也会显示在选择列表中.经过测试,选择到云相册中的图片的话,uri的scheme是file,而不再试content.本文支持云相册的 ...

  7. php实现调用手机相册,Android实现调用系统相册和拍照的Demo示例

    本文讲述了Android实现调用系统相册和拍照的Demo示例.分享给大家供大家参考,具体如下: 最近我在群里看到有好几个人在交流说现在网上的一些Android调用系统相册和拍照的demo都有bug,有 ...

  8. Android利用Java反射获取用户手机的rom定制系统及版本,EMUI,MIUI,ColorOS,FunthouchOS等

    Android利用Java反射获取用户手机的rom定制系统版本及版本号,EMUI,MIUI,ColorOS,FunthouchOS等 前言 正文 结语 前言 现在手机厂商都推出了自己的基于Androi ...

  9. Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)

    这里我只实现功能,具体Android 7.0 的一些细节参考 http://blog.csdn.net/lmj623565791/article/details/72859156 具体步骤: 一.在清 ...

最新文章

  1. 手机中陀螺仪传感器的四大作用
  2. kepserver 6.5_非凡说| 先定一个6.5分小目标,财大生如何突破瓶颈拿下雅思!
  3. 史上最强福利,阿里云半价+Plesk免费2万台速抢!
  4. 帝国cms 打开打开转换表文件失败!
  5. lighttpd安装配置支持php
  6. QtCreate不能使用代码提示功能
  7. 统计Apache或Nginx访问日志里的独立IP访问数量的Shell
  8. 程序员专属精美简历合集—第二弹
  9. 护士计算机怎么报名,护士自考本科怎样报名
  10. “北漂青年”马云建言:未来服务业发展有三大关键词
  11. Android 应用在后台弹出提示相关的笔记1
  12. JS两个日期之间计算时间差(返回:天数,小时,分钟,秒数)
  13. 2022年全球与中国烟酰胺单核苷酸(NMN)市场现状及未来发展趋势
  14. php支付宝提现demo,php 支付宝 支付Demo模板
  15. 爬虫利器:Python获取免费IP代理
  16. 字体文件反反爬-- 起点中文网
  17. 一篇值得收藏的ML数据预处理原理与实践文章
  18. 海康威视的设备怎么进行设置
  19. (2)RIL简析(高通)——消息处理
  20. [Halcon资料] 学习资料链接

热门文章

  1. POJ 1222 熄灯游戏
  2. 服务器终端性能测试之GPU burn压力测试
  3. opencv-python 矫正电容
  4. 动物乐园java_利用面向对象、接口编写动物乐园
  5. 铁磁材料线性力磁耦合本构关系
  6. ogr2ogr utf-8格式支持
  7. [语音识别] kaldi -- aidatatang_200zh脚本解析:词典准备
  8. python处理nc数据_python中的.nc文件处理 | 04 利用矢量边界提取NC数据
  9. python 涨停统计_Python tushare股票大数据分析与报告生成(优化版2)
  10. Modernizr教程