Я пытаюсь интегрировать библиотеку 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 для всех выбранных файлов, используя следующий код:
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()
и создать File
, используя URI, а затем получить абсолютный путь, но ни один из них, кажется, не работает.
Я не уверен, что это правильный подход для получения абсолютного пути к файлам в Android 10. Буду признателен за любую помощь.