在Android 26及更高版本中,Context.getExternalFilesDirs()方法返回的路径集合可能只有一个元素。为了始终获得所有外部文件目录的路径,可以使用以下代码示例:
File[] externalFilesDirs = getExternalFilesDirs();
if (externalFilesDirs.length > 1) {
// 如果有多个目录,则以数组的形式返回
} else if (externalFilesDirs.length == 1) {
// 如果仅有一个目录,则继续调用 getExternalFilesDir(null)
File externalFileDir = getExternalFilesDir(null);
}
在这个代码示例中,我们首先调用了getExternalFilesDirs()方法,获取所有外部文件目录的路径。如果路径集合的长度大于1,则说明有多个目录,我们可以直接使用路径集合。否则,我们需要继续调用getExternalFilesDir(null)方法,以获取唯一的外部文件目录的路径。