Is it an Android 11 or later device?
I suspect this is being caused by a new "security" measure from Google. In Android 10 they took away the ability for an app to use the normal "let me get a list of all the files in folder X" functions but there was a provision where you could request "wait, we haven't had a chance to migrate to your convoluted new sort-of-database-like system yet, so give me the old behavior for now". When Android 10 was released, they told app developers that workaround was only going to last until Android 11 so we'd better act fast. But when the feedback started pouring in from every Android developer that their new system was awful and that it was better the way it used to work, Google compromised and let the "old" function calls (the ones that work on
every other platform, including iOS) work again, but the list of files returned would mysteriously and automatically be filtered down to a known set of "media" file types. Luckily for Synthesia, MIDI files were on that list. Unluckily for Synthesia: .musicxml, .mxl, .synthesia, and .sf2 SoundFont files are
not on that list.
So, from Synthesia's perspective, Android will never acknowledge the existence of metadata files to the app, even though they're sitting right there.
To my knowledge, there is no way to request a custom extension to the list of visible/allowed file types. The only workaround is to have your app use the "Request File System Access" privilege, which switches back to the pre-Android 11 behavior where all files are visible again. I enabled it for Synthesia and every app submission after that was automatically denied in under 1 minute until I disabled it again. The denial reason mentioned an appeal form, but of course it's a dead link. And even if they did allow it, the permission isn't granted automatically. The user has to manually tap through a scary-sounding dialog box in the app to be taken to the Settings app, where there's a giant red warning telling you not to grant the permission unless you're really sure.
The whole thing is a frustrating mess. So right now Android 11 and later can't use metadata files or even load MusicXML songs. Thanks Google.
I don't have a good answer or any sort of workaround. I was thinking of enabling the permission in the manually-downloadable-directly-from-our-website APK version of the Android app, but that will take some build system changes on my side and it requires another scary prompt on the user side about unlocking app sideloading (along with all the extra effort of manually downloading the thing outside of the Play Store).
My hope is that someone over there notices what a disaster this situation is and just rolls the whole thing back at some point (the same way they backpedaled on the first revision). Then the workaround will just be "don't use Android versions between 11 and xx". But I haven't heard anything like this yet.
Even if we tried to switch to their new system--which would be a lot of extra effort for just one platform--it boils down to the user manually choosing a file from a file picker dialog box. This paradigm completely breaks Synthesia's file scanning and song list idea. You'd have to manually pick a song from a picker and then manually pick a .synthesia file that may or may not have associated metadata in it. It would be very strange. And only on Android. Because they said so.