您的位置首页 >简讯 > 新互联网 >

🌟【android 获取uri的正确文件路径的办法 📁】🌟

导读 在Android开发中,获取Uri对应的文件路径是一个常见的需求,尤其是在处理文件上传或分享时。(Uri是Uniform Resource Identifier的缩写,...

在Android开发中,获取Uri对应的文件路径是一个常见的需求,尤其是在处理文件上传或分享时。(Uri是Uniform Resource Identifier的缩写,用于唯一标识网络上的资源。) 但是,直接从Uri获取文件路径并不总是那么简单,因为Uri可以指向设备上的不同位置,如内部存储、外部存储甚至云端。下面是一些实用的方法来解决这个问题:

🔍 方法一:使用ContentResolver

你可以通过ContentResolver查询Uri对应的文件路径。这是最直接的方式之一。

```java

String path = "";

Cursor cursor = getContentResolver().query(uri, null, null, null, null);

if (cursor != null && cursor.moveToFirst()) {

int columnIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATA);

path = cursor.getString(columnIndex);

cursor.close();

}

```

🔍 方法二:适用于Android 10及以上版本

对于Android 10及以上版本,由于引入了分区存储机制,直接访问文件路径变得更加复杂。这时,你可能需要使用`DocumentFile`类来获取文件信息。

```java

DocumentFile pickedDir = DocumentFile.fromTreeUri(this, uri);

String path = pickedDir.getUri().getPath();

```

记得在AndroidManifest.xml中添加必要的权限和声明:

```xml

...

android:requestLegacyExternalStorage="true">

```

🌈 这些方法可以帮助你在不同的Android版本中获取正确的文件路径。希望这些小技巧能帮助你在项目中更加得心应手!

版权声明:本文由用户上传,如有侵权请联系删除!