一.获得图片路径
当我们通过Intent打开相册,获取图片后,在onActivityResult回调中会得到图片的Uri。
但是Uri无法直接获得图片的路径。如果你曾经直接操作过android里的数据库的话,应该明白,Uri可以通过ContentResolver获得数据库表里的数据。
例如:
content://com.android.providers.media.documents/document/image:38
content:// 代表scheme
com.android.providers.media.documents 代表authority
document/image:38 代表path
由于打开图片获取的Uri会有不同的类型,所以需要通过不同的方法获取
private String getImagePath(Uri uri, String selection) {
String path = null;
Cursor cursor = getContentResolver().query(uri, null, selection, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
}
cursor.close();
}
return path;
}
private String Uri2Path(Uri uri) { <