安卓不同版本获取相册图片真实路径
时间: 2023-03-20 18:03:39 浏览: 462
在 Android 中,从相册中获取图片并获得其真实路径的方法在不同的 Android 版本中有所不同。下面是针对不同版本的方法:
Android 10 及更高版本:
在 Android 10 及更高版本中,由于安全性的原因,无法直接访问相册中的图片文件。因此,需要使用以下方法:
1. 通过 ContentResolver 获取图片的 Uri。
```java
Uri uri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageId);
```
2. 通过 MediaStore API 获取图片的真实路径。
```java
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String path = cursor.getString(column_index);
cursor.close();
```
Android 9 及更低版本:
在 Android 9 及更低版本中,可以直接通过 MediaStore.Images.Media.DATA 获取图片的真实路径。
```java
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String path = cursor.getString(column_index);
cursor.close();
```
阅读全文