在android开发中,有从本地文件夹中读取图片的功能,使用一下代码打开图片选择列表:

Intent intent = new Intent();intent.setAction(Intent.ACTION_PICK);intent.setType("image/*");startActivityForResult(intent, RESULT_LOAD_IMAGE);
当我们选择一个图片以后,在onActivityResult中,我们用一下代码获取选择的图片路径:
Uri uri = data.getData();String path = uri.getPath();

  在这段代码中,我测试发现,在我的Nexus 4、魅族、模拟器上测试没有什么问题,但是在红米,华为等手机上测试,发现得到的path这个路径值,不是我们图片在手机上的路径,暂时还不明白是个什么值,如果根据这个path去获取图片会得到一个null值,不知为什么???  

解决方案:在onActivityResult中,按照如下的方式,就可以在所有的手机上使用,不会出问题,亲测:

if (data != null) {      Uri uri = data.getData();      if (!TextUtils.isEmpty(uri.getAuthority())) {          Cursor cursor = getContentResolver().query(uri,        new String[] { MediaStore.Images.Media.DATA },null, null, null);          if (null == cursor) {              Toast.makeText(this, "图片没找到", Toast.LENGTH_SHORT).show();              return;          }          cursor.moveToFirst();          path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));        cursor.close();      } else {          path = uri.getPath();      }  }else{      Toast.makeText(this, "图片没找到", Toast.LENGTH_SHORT).show();      return;  } 

这个path就是我们要的图片路径,我们就可以拿它做我们想做的事!!!

更多相关文章

  1. Android封装BaseActivity
  2. android studio使用jni调用opencv库实现图片转换【详细实例】(二)
  3. android上的一个网络接口和图片缓存框架enif
  4. Android-常用代码-36片段
  5. 常用的 Android(安卓)Studio 快捷键
  6. Android(安卓)指南针
  7. Android中BroadcastReceiver(异步接收广播Intent)的使用
  8. Java,Android内存泄漏代码片段
  9. Android(安卓)View 拖动

随机推荐

  1. 配置android app 方法数超过65k问题
  2. 在android tegra2中添加一个camera
  3. Android Installation error: INSTALL_FA
  4. TextView的一些属性
  5. Android P应用显示宽高比maxAspectRatio
  6. Android调试神器stetho使用详解和改造
  7. 【Android Developer Blog】Android Stud
  8. Android高手进阶教程(五)之----Android
  9. android 组件
  10. android音乐播放器开发_开篇