首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取Android 10及以上版本共享存储文件夹的文件路径?

在Android 10及以上版本中,可以通过以下步骤获取共享存储文件夹的文件路径:

  1. 首先,确保你的应用已经申请了READ_EXTERNAL_STORAGE权限,以便能够读取外部存储的文件。
  2. 使用MediaStore类来查询共享存储文件夹中的文件。可以通过以下代码获取文件的Uri:
代码语言:txt
复制
Uri uri = MediaStore.Downloads.getContentUri(MediaStore.VOLUME_EXTERNAL);
  1. 使用ContentResolver类来查询文件的路径。可以通过以下代码获取文件的路径:
代码语言:txt
复制
String[] projection = {MediaStore.Downloads._ID, MediaStore.Downloads.DISPLAY_NAME};
String selection = MediaStore.Downloads.DISPLAY_NAME + "=?";
String[] selectionArgs = new String[]{fileName};
Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, null);
if (cursor != null && cursor.moveToFirst()) {
    int idColumn = cursor.getColumnIndexOrThrow(MediaStore.Downloads._ID);
    long fileId = cursor.getLong(idColumn);
    Uri fileUri = ContentUris.withAppendedId(uri, fileId);
    String filePath = fileUri.toString();
    cursor.close();
}

在上述代码中,fileName是你要查询的文件名。

  1. 最后,你可以使用获取到的文件路径进行文件操作,例如读取、写入等。

需要注意的是,Android 10及以上版本引入了存储访问框架(Scoped Storage),对应用的文件访问做出了一些限制。因此,如果你的应用需要访问其他应用的文件,或者需要访问外部存储的非共享文件夹,可能需要额外的权限或适配措施。

推荐的腾讯云相关产品:腾讯云对象存储(COS)。

腾讯云对象存储(COS)是一种高可用、高可靠、强安全性的云端存储服务,适用于存储和处理各种类型的非结构化数据,包括文本、图片、音频、视频等。它提供了简单易用的API接口和丰富的功能,可以帮助开发者快速构建可靠的存储解决方案。

产品介绍链接地址:腾讯云对象存储(COS)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券