首页 > 解决方案 > 如何使用隐式意图 kotlin 打开文件资源管理器并获取选定的文件路径

问题描述

我想打开一个文件资源管理器并在 Kotlin 中获取选定的文件路径有没有为此目的的 guid?

标签: androidkotlin

解决方案


显示文件资源管理器的最简单选项是调用“ACTION_GET_CONTENT”意图并使用“startActivityForResult”获取代码结果(示例中为 777),如下所示:

val intent = Intent()
        .setType("*/*")
        .setAction(Intent.ACTION_GET_CONTENT)

startActivityForResult(Intent.createChooser(intent, "Select a file"), 777)

稍后,在您的活动中覆盖“onActivityResult”函数并仅在请求代码与“startActivityForResult”相同时获取数据(示例中为 777)。

要保存所选文件中的 URI,您可以获得“data?.data.toString()”,如果只需要路径,请使用“data?.data?.path”

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    if (requestCode == 777) {
        val filePath = data?.data?.path
    }
}

推荐阅读