android 解决小米手机上选择照片路径为null情况
2017-03-06 11:21
411 查看
昨天测试帅哥说他手机选择图库崩溃了,这是一个上传头像的功能,相信很多应用都有这个功能,于是我就把手机拿过来打log看了下返回的路径 为null,在网上搜索了下解决方案,现在把解决方案记录下:
这是在onActivityResult方法中执行的,
果然是生活处处有大神;
http://blog.csdn.net/coderinchina/article/details/50799501
这是在onActivityResult方法中执行的,
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 = this.getContentResolver(); StringBuffer buff = new StringBuffer(); buff.append("(").append(Images.ImageColumns.DATA).append("=") .append("'" + path + "'").append(")"); Cursor cur = cr.query(Images.Media.EXTERNAL_CONTENT_URI, new String[] { Images.ImageColumns._ID }, buff.toString(), null, null); int index = 0; for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) { index = cur.getColumnIndex(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; }
果然是生活处处有大神;
http://blog.csdn.net/coderinchina/article/details/50799501
相关文章推荐
- android 解决小米手机上选择照片路径为null情况
- android 解决小米手机上选择照片路径为null情况
- android 解决小米手机上选择照片路径为null情况
- android 解决小米手机上选择照片路径为null情况
- android 解决小米手机上选择照片路径为null情况
- android 解决小米手机上选择照片路径为null情况
- android 解决小米手机上选择照片路径为null情况
- android 解决小米手机上选择照片路径为null情况,导致图片显示不出来
- android解决小米手机上选择照片路径为null问题
- android 解决小米手机上选择照片路径为null的问题
- Android 解决miui中获取相册图片路径为null的情况
- Android--使用手机拍照获取图片路径,小米手机选择照片问题处理
- 关于 小米手机 从本地选择照片路径为null
- android 调用系统相机,预置路径,解决小米等机型uri返回为null的问题
- Android之根据Uri获得图片或视频文件路径(解决4.4以上版本得不到路径的情况)
- android中选择文件,部分手机找不到文件路径问题的解决
- Android4.4以上版本从图库选择图片返回的路径不正确解决方法
- Android-->拍照/相册选择照片(从Uri中获取图片路径)
- Android之根据Uri获得图片或视频文件路径(解决4.4以上版本得不到路径的情况)
- Android之根据Uri获得图片或视频文件路径(解决4.4以上版本得不到路径的情况)