小米4手机选择图库发送图片时崩溃
来源:互联网 发布:工作日志管理系统php 编辑:程序博客网 时间:2024/05/20 18:42
最近开发时遇见小米4,手机选择图库发送图片时崩溃的情况,查看logcat发现cusor查询时为null,查找资料解决此问题,在此记录下:
if (data == null) { return; } uri = data.getData(); uri = geturi(data);//解决方案 String[] proj = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, proj, null, null, null); if(cursor!=null){ int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); String path = cursor.getString(column_index);// 图片在的路径 Intent intent3 = new Intent(this, SYClipActivity.class); intent3.putExtra("path", path); startActivityForResult(intent3, IMAGE_COMPLETE); } }
解决方案如下:
/** * 解决小米手机上获取图片路径为null的情况 * @param intent * @return */ public Uri geturi(android.content.Intent intent) { 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 = getContext().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); // set _id value index = cur.getInt(index); } if (index == 0) { // do nothing } else { Uri uri_temp = Uri .parse("content://media/external/images/media/" + index); if (uri_temp != null) { uri = uri_temp; } } } } return uri; }
0 0
- 小米4手机选择图库发送图片时崩溃
- 小米手机从图库选择图片时,返回的URI不正确的问题
- 小米手机从相册选择图片问题
- 关于从图库选择图片的问题,Android4.4前后的改动,顺便吐槽小米MIUI
- Android调用手机自带图库选择图片
- angularjs手机webapp 利用input拍照,图库选择上传图片
- Android4.4系统从图库选择图片
- 添加.nomedia文件之后图片依然出现在图库中的解决方法小米手机
- Android:小米手机读取图库图片以字符串的形式上传到服务器
- Android调用手机图库选择图片并调用手机的图片裁剪工具
- 小米手机显示崩溃日志
- 小米手机程序崩溃日志
- 从图库选择一张图片
- 从图库选择图片经验总结
- Android4.4从图库选择图片返回的路径不正确
- 小米手机调用相机莫名崩溃问题
- Android--使用手机拍照获取图片路径,小米手机选择照片问题处理
- 关于小米手机无法将照片添加到图库解决方法
- ubuntu 12.04 hadoop2.7.3 环境配置
- 第十七章 SpringMVC拦截器配置
- js 识别web和手机浏览器
- mysql 的sql优化
- Proc对象
- 小米4手机选择图库发送图片时崩溃
- 二叉树算法趣题
- Python的方法解析顺序(MRO)
- php7.1微信公众平台消息安全模式的加密及解密
- 亚马逊前首席科学家:大数据价值体现在AI、BI、CI、DI
- java多线程注意点
- Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比
- 第十八章 SpringMVC @ControllerAdvice
- 使用live555类库实现的网络直播系统——直播H264文件