从Android Q中的特定文件夹获取文件列表

从Android Q中的特定文件夹获取文件列表,android,kotlin,local-storage,android-10.0,Android,Kotlin,Local Storage,Android 10.0,我正在尝试访问android Q中的特定文件夹,但应用程序正在崩溃 我正在使用下面的代码,它在Android PIE之前运行良好,但在Android Q中不起作用 val directory = File(path) val files = directory.listFiles() <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permis

我正在尝试访问android Q中的特定文件夹,但应用程序正在崩溃

我正在使用下面的代码,它在Android PIE之前运行良好,但在Android Q中不起作用

    val directory = File(path)
    val files = directory.listFiles()


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

Android Q文件界面不能用于访问公共目录,除非您在应用程序清单中使用
requestLegacyStorage
(不使用raccomanded,因为它不再适用于Android R)。要访问目录,您需要使用
DocumentFile
类,例如:

DocumentFile f = DocumentFile.fromTreeUri(context, uri);
f.listFiles();
你。
DocumentFile f = DocumentFile.fromTreeUri(context, uri);
f.listFiles();