同僚さんに以前、相談というかこんな現象が起こっているとの報告を受けていたのですが、ようやく多少時間が取れたので確認中。
なんでも、Android 4以降の端末では、HTML の <input type="file" />
で画像を選択する際、カメラもしくはギャラリーのどちらか一方でしか画像を選べないとのことでした。
試してみましたが、確かにその通りの挙動に!
で、調査している中、こちらの記事を発見。
Androidの input type=”file” accept=”image/*” 事情 – みかづきブログ その3
http://kimizuka.hatenablog.com/entry/2016/12/01/215013
全く同じことにお悩みの方がいらっしゃいました…!
記事内では、「Android4.4.2でも再現する機種としない機種があるのが謎で、Chromeのバージョンに依存するバグなのか、機種依存のバグなんだと判断しました。」とのこと。
ということは、Androidのバージョンは関係ないのかな?
どうにかならないか、と調べたところ、inputタグのcapture属性を使うとカメラを起動できるようでした。
/* リアのカメラを起動 */ <input type="file" accept="image/*" capture="environment" />
この機能を使って、それぞれ「ギャラリーから選択」と「カメラで撮影」を分けて用意するしかないのかなと考えています。
この辺は、要検討です。
以上、HTML の <input type="file" />
の挙動についてでした。
参考にした記事では、カメラの起動をあきらめる。とのことだったので、それも検討したほうが良いのかも知れません。