android+sdcard0+extsdcard,sd card - Android FileProvider for ext sdcard - Stack Overflow

To access external sdcard .

First call uri.getEncodedPath() to get the encoded path

"

/external_files/3161-3330/WhatsApp/Media/WhatsApp%20Documents/All%20Currency.pdf

"

Then use below logic to get file path of external storage

public String getFilePath(){

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

// 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];

if ("primary".equalsIgnoreCase(type)) {

return Environment.getExternalStorageDirectory() + "/" + split[1];

} else {

return "/storage" + "/" + split[0] + "/" + split[1];

}

}

}

}

getFilePath() will give :

/storage/emulated/0/3161-3330/WhatsApp/Media/WhatsApp Documents/All

Currency.pdf

where uri path starts with

/external_files/

and file path starts with

/storage/

Hence , we have to add below line

in

@xml/provider_paths.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值