サーバーでAndroidを検出する明白な方法は、User-Agent HTTPヘッダーから "Android"文字列を検索することです。しかし、 - これは一部のデバイス(HTC Evoなど)では動作しないという苦情がありましたが、Androidとしては検出されません。私のHTC Evo 3Dウェブブラウザでは、whatsmyuseragent.comから、Mozilla/5.0(X11; Linux x86_64)AppleWebKit/534.24(GeckoのようなKHTML)Chrome/11.0.696.34 Safari/534.24が提供されています。 Androidの文字列やバージョンはありません。それはそれを変更するデバイス上のセキュリティソフトウェア、またはHTC固有の問題である可能性があります。同じデバイス上WebサーバーでAndroidを検出できない
明らかにAndroidのChromeは別のものを持って、より良いUA:のMozilla/5.0(Linuxでは、Androidの4.0.3; HTC EVO 3D X515mは/ IML74Kのビルド)のAppleWebKit/535.19(KHTML、ヤモリなど)クローム/ 18.0を。 1025.166 Mobile Safari/535.19しかし、私はそれだけではうまくいきません。 QRコードリーダーアプリは、無効なUAを持つ内蔵AndroidブラウザではなくChromeを開きます。
デバイスやブラウザ間でAndroidを確実に検出するための優れたトリック(javascriptコール?)はありますか?
編集: はギャラクシーS III、同じUser-Agent文字列と同じ問題のようになります。Android Phone Browser Detection
問題は解決しませんが、User-Agentと一緒にブラウザの解像度を探すことができますか? – RMalke
多分追加の情報を与えるだろうが、私は、異なるユーザーID /解像度/いくつかの別のヘッダーの組み合わせでデバイスデータベースの管理を開始する代わりに、いくつかの準備ができて弾力のあるソリューションを使用したいと思います。 – JaakL