apache / cordova-plugin-file

Apache Cordova File Plugin
https://cordova.apache.org/
Apache License 2.0
741 stars 756 forks source link

directoryReader.readEntries returns only media files and directories under Android > 7 #557

Open wencywww opened 1 year ago

wencywww commented 1 year ago

Problem

directoryReader.readEntries() does not return all existing entries

What is expected to happen?

To receive an array containing entries for all existing directories and files regarding of their type

What does actually happen?

Under Android 11, when using directoryReader.readEntries() to read a particular directory, the returned array seems to contain only media-type file entries (jpg/png, amr, mp4, etc.). and directory entries

Information

I use Samsung 2 phones with identical contents of the given directory, one with Android 7, the other with Android 11. The first one works as expected, but the second one does not. The same is with a third device using Android 12

Command or Code

function printDirectoryContents() {
    window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory + "mydir", function (dirEntry) {
        var directoryReader = dirEntry.createReader();
        directoryReader.readEntries(function (entries) {
                console.log(entries);
        });
    });
}

Version information

Cordova: 11.0.0 Cordova-plugin-file: 7.0.0 Android v. 7, 11, and 12

Checklist