Android 游标不返回任何值

Android 游标不返回任何值,android,Android,我正在从gallery中选择一个图像,并将该图像上载到服务器,同时将图像设置为ImageView。我是指网站。Mydata.getData()返回以下字符串: content://media/external/images/media/22 但我的应用程序在以下行崩溃: cursor = getContentResolver().query(contentUri, proj, null, null, null); 这是我的代码: @Override protected void onAct

我正在从gallery中选择一个图像,并将该图像上载到服务器,同时将图像设置为
ImageView
。我是指网站。My
data.getData()
返回以下字符串:

content://media/external/images/media/22
但我的应用程序在以下行崩溃:

cursor = getContentResolver().query(contentUri,  proj, null, null, null);
这是我的代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK && requestCode == 1){

        Uri uri= data.getData();
        Log.e("uri", String.valueOf(uri));
        mImagePath = getPath(this,uri);
        Bitmap bitmap = BitmapFactory.decodeFile(mImagePath);
        mProfilePic.setImageBitmap(bitmap);
    }
}

public String getPath(Context context, Uri contentUri) {
    Cursor cursor = null;
    try {
        String[] proj = { MediaStore.Images.Media.DATA };
        cursor = getContentResolver().query(contentUri,  proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    }
    finally {
        if(cursor != null){
            cursor.close();
        }
    }
}

提前感谢。

根据您提供的URI,我建议在清单中添加以下权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />


logcat怎么说?我的logcat没有给出任何错误。如果没有错误日志,很难说,但是一个猜测是,如果您可以访问此资源,请首先在清单中检查您的权限。您能告诉我应该添加哪个权限吗?基于uri,我建议我已经添加了权限,一切正常,但是在我的getPath方法中,光标没有得到任何值。你能告诉我我在做什么吗wrong@Mrunal然后转储游标,看看里面有什么:DatabaseUtils#dumpCursor()我的游标包含类似ContentResolver的值$CursorWrapperInner@3860