我正在尝试访问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" />
遇到波纹管错误
NullPointerException: Attempt to get length of null array
答案 0 :(得分:1)
使用Android Q文件界面不能用于访问公共目录,除非您在应用清单中使用requestLegacyStorage
(不建议使用,因为它不再适用于Android R)。要访问目录,您需要使用DocumentFile
类,例如:
DocumentFile f = DocumentFile.fromTreeUri(context, uri);
f.listFiles();