服務器檢測Android的明顯方法是從User-Agent HTTP標頭中搜索「Android」字符串。但是 - 我有抱怨說這在某些設備上不起作用(例如在我的HTC Evo中),但它們不會被檢測爲Android。 whatsmyuseragent.com爲我的HTC Evo 3D網頁瀏覽器提供:Mozilla/5.0(X11; Linux x86_64)AppleWebKit/534.24(KHTML,如Gecko)Chrome/11.0.696.34 Safari/534.24。沒有Android字符串或版本。它可能是設備上的一個安全軟件,它可以改變它,或HTC特定的問題,但不確定。 Chrome瀏覽器/ 18.0 AppleWebKit/535.19(KHTML,像Gecko)Chrome/18.0顯然,Android Chrome瀏覽器在同一設備上具有另一個更好的UA:Mozilla/5.0(Linux; Android 4.0.3; HTC EVO 3D X515m Build/IML74K) 1025.166 Mobile Safari/535.19,但我不能只希望eg QR碼閱讀器應用程序打開Chrome瀏覽器,而不是內置的Android瀏覽器,它具有無效的UA。在Web服務器中無法檢測到Android
是否有一個很好的技巧(JavaScript調用?)來跨設備和瀏覽器可靠地檢測Android?
編輯: 看起來像銀河S III,相同的用戶代理字符串同一個問題:Android Phone Browser Detection
它沒有解決您的問題,但也許你可以尋找與用戶代理一起的瀏覽器解析? – RMalke
也許它會給出額外的信息,但我想使用一些現成的或多或少的防彈解決方案,而不是使用不同的用戶ID /分辨率/一些另外的頭組合來開始管理設備數據庫。 – JaakL