如何检查从action_open_document树中选择的Uri用户是否是从可移动SD卡中获取的? 我检查了这个,但主 SD 卡和可移动 SD 卡是一样的! 还有其他办法吗?
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String id=DocumentsContract.getTreeDocumentId(uri);
Uri mainuri=DocumentsContract.buildDocumentUriUsingTree(uri,id);
grantUriPermission(G.context.getPackageName(), uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
if( "com.android.externalstorage.documents".equals(uri.getAuthority())){
// its return true for primary and removable sd card !!
}
最佳答案
没有。
不要求存储提供商的 Uri
能够以任何方式进行识别。您的假设(某个存储提供商的权限是 com.android.externalstorage.documents)在任何 Android 设备上不一定都是正确的。设备制造商可以使用自己的 Uri
结构提供自己的存储提供商。
关于android - 检查 uri 是否来自可移动存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46015548/