Android 游标不返回任何值
我正在从gallery中选择一个图像,并将该图像上载到服务器,同时将图像设置为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
ImageView
。我是指网站。Mydata.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