diff --git a/app/src/main/java/io/legado/app/utils/FileDocExtensions.kt b/app/src/main/java/io/legado/app/utils/FileDocExtensions.kt index 0ebe60858..70a6682d0 100644 --- a/app/src/main/java/io/legado/app/utils/FileDocExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/FileDocExtensions.kt @@ -39,7 +39,14 @@ data class FileDoc( fun asDocumentFile(): DocumentFile? { if (isContentScheme) { return if (isDir) { - DocumentFile.fromTreeUri(appCtx, uri) + Class.forName("androidx.documentfile.provider.TreeDocumentFile") + .getDeclaredConstructor( + DocumentFile::class.java, + Context::class.java, + Uri::class.java + ).apply { + isAccessible = true + }.newInstance(null, appCtx, uri) as DocumentFile } else { DocumentFile.fromSingleUri(appCtx, uri) }