美文网首页
调用相册获取图片,返回Cursor对象为空

调用相册获取图片,返回Cursor对象为空

作者: middle2021 | 来源:发表于2016-10-11 14:40 被阅读107次

    调用相册获取图片,返回Cursor对象为空。(原因:是系统将照片放在了缓存目录,导致返回的路径不正确导致)

    解决方案:判断Cursor是否为空,为空截取返回的Uri的路径前的 ' file:/// ' ,剩下的就是图片的真实路径。

    Uri originalUri = data.getData(); // 获得图片的uri
    
    String[] proj = {MediaStore.Images.Media.DATA};
    
    String path = "";
    Cursor cursor = getContentResolver().query(originalUri, proj, null, null, null);
    
    if (cursor == null) {
        String str = originalUri.toString();
        KLog.i(str);
        if (str.contains("file:///")) {
            path = str.substring(7);
        }
      } else {
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        path = cursor.getString(column_index);
    }
    

    相关文章

      网友评论

          本文标题:调用相册获取图片,返回Cursor对象为空

          本文链接:https://www.haomeiwen.com/subject/aqkbyttx.html