android - 检查 uri 是否来自可移动存储

标签 android uri removable-storage

如何检查从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/

相关文章:

java - 如何在android studio的MainActivity.java中加载静态库(libtest.a)

Android APK 上传失败,使用 google play 的应用签名

android - 推迟由 Loader 管理的查询的最佳方法是什么?

Android:从原始文件夹中检索音乐文件信息

C# - 从 ContextMenuStrip 和 "Smart Events"动态添加和删除项目

objective-c - 连接可移动存储时自动启动 Cocoa 应用程序

android - Ice Cream Sandwich 上的 OpenGL 黑色纹理

javascript - 如何将返回的数据ASCII显示为图像?

c# - ftp 服务器的 URI 问题

android - 在 Android N 上浏览可移动 USB OTG,存储访问框架真的是唯一的方法吗?