我正在从图库中选择图片并将该图片上传到服务器,并将图片设置为ImageView
。我在推荐this网站。我的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();
}
}
}
提前谢谢。
答案 0 :(得分:0)
根据您提供的URI,我建议将以下权限添加到清单中:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />