android获取本地文件uri,Android:从内容URI获取文件URI?

该博客介绍了在Android 19及以上版本中如何从内容URI获取文件或文件夹的绝对路径,特别是针对外部存储(SD卡和主内存)。通过DocumentsContract类检查uri并解析docId,提供了一个名为getPath()的方法来生成路径。尽管可以读取和操作文件,但目前存在无法直接从SD卡删除文件的问题。最后,提到了如何将路径转换为file:/// Uri。
摘要由CSDN通过智能技术生成

如果您的内容Uri带有content://com.externalstorage...,则可以使用此方法获取Android 19或更高版本上的文件夹或文件的绝对路径。

public static String getPath(final Context context, final Uri uri) {

final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;

// DocumentProvider

if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {

System.out.println(\"getPath() uri: \" + uri.toString());

System.out.println(\"getPath() uri authority: \" + uri.getAuthority());

System.out.println(\"getPath() uri path: \" + uri.getPath());

// ExternalStorageProvider

if (\"com.android.externalstorage.documents\".equals(uri.getAuthority())) {

final String docId = DocumentsContract.getDocumentId(uri);

final String[] split = docId.split(\":\");

final String type = split[0];<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值