Android 9更改为10后无法访问文件系统

问题描述 投票:0回答:1

我有一个使用存储设备上文件的应用程序。在Android 9上,它运行得非常好。它的作用之一是浏览目录以获取文件列表。

我刚刚更新到Android10。突然之间,目录中(显然)没有文件。但是实际上,根据Total Commander,所有相同的文件都存在。

代码(文件夹是设置为/storage/emulated/0/uk.co.nightshade-arts/maps的字符串)是

...
String []
        rawFiles;

try {
    File    f = new File(folder);

    rawFiles = f.list();
}

catch (Exception e) {
        return null;
}

...

rawFiles结尾为null,如果路径不是文件夹-而是文件夹,则list()应该返回此值。

但是,(1)文件没有更改,(2)根据Total Commander的定义,它们肯定在那里,(3)具有相同存储权限,目标API等的另一个应用程序,使用相同的代码列出了(不同的)目录仍然可以正常运行。

任何人都可以建议在Android 9和10之间可能发生什么变化吗?

此外,我还注意到Android Studio不断与目标设备(Google Pixel 2)断开连接,因此调试失败,现在手机运行10。这也不是以前发生的。

android android-file
1个回答
0
投票

您实际上无权访问Android Q上的该目录。

这已经改变了。

不再访问getExternalStorageDirectory()。

如果想以旧的方式继续到R,则添加android:requestLegacyExternalStorage="true"以显示。

© www.soinside.com 2019 - 2024. All rights reserved.