我有一个使用存储设备上文件的应用程序。在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 Q上的该目录。
这已经改变了。
不再访问getExternalStorageDirectory()。
如果想以旧的方式继续到R,则添加android:requestLegacyExternalStorage="true"
以显示。