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; }
在onActivityResult的方法里 做如上的操作 即可,具体原因有待考证。