File input "broken" on Android - Change event doesn't fire after selecting a file, and any other clicks don't do anything

I’ve got a file input like this:

          <input
            type="file"
            (click)="fileClick($event)"
            (change)="fileChange($event)"/>

The first time I click on the file input it opens up a file chooser, I choose a file, and I’m taken back to my app, but the file isn’t shown.

Those two events start with a simple console.log, so I know if they’re called and the only output on my console is the one from my fileClick event, the fileChange one doesn’t ever seem to fire.

It works perfectly on web, but just not in android. I have double checked that my app has all the various permissions to read/write files. I’ve tried with an ‘accept’ attribute on the input, and it doesn’t change the outcome. Any ideas what could be wrong?

I’m experiencing this exact issue after upgrading to Capacitor 3. Did you ever find a solution?

In the end it was one of my components that caused the problem. Specifically the Huawei Location services component. If I add it into my app, the File Chooser fails, and when I remove it, the file chooser
works again. I eventually had to find another way to get locations on Huawei devices.