android - 如何知道特定 Android 设备的用户代理字符串?

标签 android browser

任务是在网络服务器端获取一些设备的统计数据。为此,我想知道特定 Android 设备上默认浏览器的用户代理字符串,例如:


  • 宏达电:
    • 宏达捷流
    • HTC 传单
    • HTC Evo View 4G

  • 关系:
    • 连结 7
    • 连结 10

  • 三星:
    • 银河标签
    • 银河标签 2
    • 银河笔记

  • 摩托罗拉:
    • 摩托罗拉 Xyboard 8"
    • 机器人木板
    • 摩托罗拉 Xyboard 10"

有什么简单的方法可以知道吗?是否有一个众所周知的列表将设备名称映射到用户代理字符串?另外,如果我应该采取不同的方法 - 请提出建议。

最佳答案

在我看来,要计算基于 Android 设备的各种用户代理的命中率,您应该创建一个指向服务器的 URL。在应用程序启动时获取用户代理并发送到您的服务器。

我运行这段代码来获取用户代理

        WebView mes = new WebView(this);
        String str = mes.getSettings().getUserAgentString();
        Log.i("My User Agent", str);

在 Samsung Tablet 10.1 英寸模拟器上我得到了用户代理

Mozilla/5.0 (Linux; U; Android 3.0; en-us; sdk Build/HONEYCOMB) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13

在 Nexus 模拟器上我得到了

Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; google_sdk Build/MR1) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30

关于android - 如何知道特定 Android 设备的用户代理字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032163/

相关文章:

android - 无法从 nativeInterface 访问 com.codename1.impl.android.AndroidNativeUtil

android - 使用三星默认媒体播放器的媒体按钮广播

encoding - WP7的WebBrowser.NavigateToString()和文本编码

timezone - 更改浏览器时区

silverlight - 如何更改 Silverlight for Windows Phone 上 Web 浏览器上的 ComboBox "selectedIndex"?

javascript - 在网站上启用 "paste"的脚本

ajax - Yahoo Mail 如何使后退按钮遍历其 UI 中的先前点击?

android - 使用带有 Retrofit 的 Robospice 将图像上传到 Google appengine

android - 如果 SQL 表达式具有带 SUBSELECT 查询的 LENGTH 函数,则将其转换为 SQLite

android - 动态替换 HTML 参数的值