安卓图片 content 转真实路径
时间: 2023-03-21 22:02:32 浏览: 144
在Android中,将"content"类型的图片转换为真实路径需要进行以下步骤:
1. 获取图片的URI
你需要使用`getContentResolver()`方法来获取ContentResolver对象,并使用`query()`方法来获取图片的URI。
例如:
```java
Uri imageUri = Uri.parse(contentUri);
```
2. 查询数据
使用ContentResolver的query()方法,传入URI和需要查询的字段,然后使用游标来获取结果。
例如:
```java
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(imageUri, projection, null, null, null);
```
3. 获取路径
使用游标获取查询结果,然后从中获取文件路径。
例如:
```java
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String filePath = cursor.getString(column_index);
```
4. 关闭游标
一定要关闭游标以释放资源。
例如:
```java
cursor.close();
```
完整的代码示例:
```java
Uri imageUri = Uri.parse(contentUri);
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(imageUri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String filePath = cursor.getString(column_index);
cursor.close();
```
注意:在进行此操作时,需要在AndroidManifest.xml文件中添加读取外部存储器的权限。
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
阅读全文