<input type="file" accept="image/jpeg, image/png">
という感じでaccept属性を設定して、ファイルをアップロードしようとすると、
一部のAndroid端末で選択肢に何故か音声レコーダーとかも表示されてしまいます。
(しかも機種によっては許可していないgif画像もアップできてしまいます。)
対策
<input type="file" accept="image/*">
と指定すると余計な選択肢が表示されなくなります。
もしもファイルタイプを指定したい場合(gif画像はアップできないようにしたいなど)は、
accept属性をつかうのではなく、アップされたファイルをJS側でバリデートすると良いと思います。
謎挙動ですね。