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 并进行其他操作。

相关内容

热门资讯

透视脚本!aapoker怎么控... 透视脚本!aapoker怎么控制牌(透视)免费透视脚本(真是是有挂)1、完成aapoker怎么控制牌...
透视苹果版!拱趴大菠萝万能辅助... 透视苹果版!拱趴大菠萝万能辅助器(透视)大神讲解(2021已更新)(哔哩哔哩)1、很好的工具软件,可...
透视实锤!aapoker怎么开... 透视实锤!aapoker怎么开辅助器(透视)透视软件(其实真的是有挂)1、许多玩家不知道aapoke...
透视能赢!大菠萝免费辅助(透视... 透视能赢!大菠萝免费辅助(透视)教你攻略(2021已更新)(哔哩哔哩)该软件可以轻松地帮助玩家将大菠...
透视规律!aapoker破解侠... 透视规律!aapoker破解侠是真的吗(透视)透视脚本下载(确实存在有挂);aapoker破解侠是真...
透视私人局!cloudpoke... 透视私人局!cloudpoker外挂(透视)教你攻略(2023已更新)(哔哩哔哩)1、cloudpo...
透视真的!pokemmo脚本辅... 透视真的!pokemmo脚本辅助(透视)2025新版(2025已更新)(哔哩哔哩)1、起透看视 po...
透视能赢!aapoker怎么设... 透视能赢!aapoker怎么设置抽水(透视)透视脚本下载(真是有挂);1、aapoker怎么设置抽水...
透视软件!pokemmo修改器... 透视软件!pokemmo修改器手机版(透视)爆料教程(2020已更新)(哔哩哔哩)透视软件!poke...
透视挂!aapoker辅助器是... 透视挂!aapoker辅助器是真的吗(透视)万能辅助器(好像真的有挂)1.aapoker辅助器是真的...