我正在尝试将 Imebra
库集成到应用程序中,以加载.dcm
文件。问题是根据文档,我需要像下面展示的那样将文件的绝对路径传递给Imebra
:
val loadDataSet = CodecFactory.load("myFile.dcm")
为了打开DCM文件,我正在使用以下代码:
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
addCategory(Intent.CATEGORY_OPENABLE)
type = "*/*"
putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
}
startActivityForResult(intent, RC_OPEN_FILES)
我可以使用以下代码获取所有选定文件的URI列表:
我能够使用下面的代码获取所有选中文件的URI列表:
if (data != null) {
val clipData = data.clipData
if (clipData != null) {
// Multiple files selected
val clipDataUriList = arrayListOf<Uri>()
for (i in 0 until clipData.itemCount) {
clipDataUriList.add(clipData.getItemAt(i).uri)
}
processDcmFiles(clipDataUriList)
} else {
// Single file selected
data.data?.let { processDcmFiles(arrayListOf(it)) }
}
}
我尝试使用uri.getPath()
并使用URI创建File
,然后获取绝对路径,但似乎都不起作用。
我不确定这是否是在Android 10中获取文件的绝对路径的正确方法。任何帮助将不胜感激。