AndroidStudio:如何从intent.Action_Open_Document_tree获取存储路径?
创始人
2024-08-21 13:00:44
0

要获取从“打开文档树”意图中选择的存储位置的路径,可以使用以下代码示例:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == PICK_DOC_REQUEST && resultCode == RESULT_OK && intent.getData() != null) {
        Uri uriTree = intent.getData();

        // Check for the "DocumentProvider" authority
        if (DocumentsContract.isDocumentUri(this, uriTree)) {
            // The document provider was selected
            String docId = DocumentsContract.getTreeDocumentId(uriTree);

            // Get complete Uri of this document by adding document id to the tree Uri
            Uri uri = DocumentsContract.buildDocumentUriUsingTree(uriTree, docId);

            // Get details about the selected directory, including its document id and display name
            String [] projection = {DocumentsContract.Document.COLUMN_DOCUMENT_ID,
                                    DocumentsContract.Document.COLUMN_DISPLAY_NAME};
            Cursor cursor = getContentResolver().query(uri, projection, null, null, null);

            if (cursor != null && cursor.moveToFirst()) {
                String folderDocumentId = cursor.getString(0);
                String folderName = cursor.getString(1);

                // Use folderDocumentId and folderName
                Log.d(TAG, "Folder Document Id: " + folderDocumentId);
                Log.d(TAG, "Folder Name: " + folderName);
            }

            if (cursor != null) {
                cursor.close();
            }
        }
    } else {
        super.onActivityResult(requestCode, resultCode, intent);
    }
}

其中, PICK_DOC_REQUEST是一个用于标识请求代码的整数常量,应该在启动 ACTION_OPEN_DOCUMENT_TREE 意图时使用。

此代码将检查获取的 Uri 是否属于“文件提供者”,获取所选目录的详细信息,并从中提取必要的信息。此时,您可以使用 folderDocumentId 来获取完整的 Uri 并进行其他操作。

相关内容

热门资讯

重磅来袭!河洛杠次脚本开发,科... 重磅来袭!河洛杠次脚本开发,科乐填大坑作弊视频(详细辅助科技教程)(1)重磅来袭!河洛杠次脚本开发,...
推荐一款!阿当比鸡有什么技巧吗... 推荐一款!阿当比鸡有什么技巧吗,河洛杠次脚本开发(详细辅助德州论坛)是一款可以让一直输的玩家,快速成...
总算清楚!潮汕掌上娱第三方辅助... 总算清楚!潮汕掌上娱第三方辅助器,白金岛辅助有用吗(详细辅助教你攻略)是一款可以让一直输的玩家,快速...
重大通报!阿拉游戏中心辅助器,... 重大通报!阿拉游戏中心辅助器,欢乐达人暗宝怎么获得(详细辅助透明挂教程)1)欢乐达人暗宝怎么获得辅助...
今日重大通报!微信小程序财神辅... 今日重大通报!微信小程序财神辅助器,福建大玩家辅助工具(详细辅助细节方法)1、这是跨平台的微信小程序...
总算了解!衢州都莱罗松怎么老是... 您好,微信小程序多乐辅助器下载这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很...
玩家必备教程!微信开心是按照辅... 玩家必备教程!微信开心是按照辅助脚本,对战互娱怎么开辅助(详细辅助新2025教程)1、在微信开心是按...
教程辅助!白金岛手游作弊码,广... 教程辅助!白金岛手游作弊码,广东闲来辅助工具(详细辅助扑克教程)1、构建自己的微扑克辅助插件;2、选...
一分钟揭秘!新518互游插件,... 一分钟揭秘!新518互游插件,衢州都莱罗松怎么才能赢(详细辅助必备教程)1、不需要AI权限,帮助你快...
我来教教你!浙江宝宝游戏万能辅... 我来教教你!浙江宝宝游戏万能辅助器,河洛缸次辅助器(详细辅助教你攻略)是一款可以让一直输的玩家,快速...