无法使用Intent获取路径文件(不是媒体)

问题描述 投票:0回答:1

我有这段代码,基本上我得到了一个文件路径(不是媒体路径),出于某种原因,在某些 Android 10 设备中我得到的路径为

/document/msf:<number>

在清单中我有

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    private val xfile = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
        var xmlFile = FileWrapperFactory(requireContext()).getAssetFileWrapper("file")
        var xmlPath = ""
        if (result.resultCode == Activity.RESULT_OK) {
            xmlPath = result.data?.data?.path.toString()
            xmlFile = FileWrapperFactory(requireContext()).getExternalFileWrapper(xmlPath)
        }
        viewBinding.pathName.setText(xmlPath)
    }

....

 fun getFile() {
        val intent = Intent(Intent.ACTION_GET_CONTENT)
            .addCategory(Intent.CATEGORY_OPENABLE)
            .setType("*/*")
        xfile.launch(Intent.createChooser(intent, "file"))
    }

我需要将代码更改为该场景,并且我尝试了多种解决方案,但没有人成功。

android androidx mediastore
1个回答
0
投票

由于您的文件类型不是媒体类型,请遵循此官方指南:从共享存储访问文档和其他文件

© www.soinside.com 2019 - 2024. All rights reserved.