2

我在 Google App Engine 中使用UADetector来解析这个用户代理,如下所示:

Mozilla/5.0 (Linux; U; Android 2.2; en-ca; GT-P1000M Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

我可以getOperatingSystem(),但我无法获得类似的 Android 设备名称GT-P1000M

我怎样才能做到这一点?

谢谢

4

1 回答 1

3

此功能经常被要求,但目前尚未实现。为了能够实现这一点,我们需要一个包含相应设备信息的用户代理字符串的大列表。我认为我们没有得到这份清单,但我们应该能够部分(按需)实施它。

在过去的几天里,我一直在考虑实现一组已知的片段,以便您可以编写如下内容:

UserAgentStringParser parser = UADetectorServiceFactory.getResourceModuleParser();
UserAgent ua = parser.parse(anyUserAgentString);
if (ua.getKnownFragments().contains(KnownFragments.GT_P1000M)) {
    System.out.println("Seems to be a Galaxy Tab GT-P1000.");
} else if (ua.getKnownFragments().contains(KnownFragments.IPAD)) {
    System.out.println("Seems to be an iPad.");
} else if (ua.getKnownFragments().contains(KnownFragments.IPHONE)) {
    System.out.println("Seems to be an iPhone.");
}

如果此功能可以帮助您,请参与。此功能将在https://github.com/before/uadetector/issues/20上讨论。非常感谢任何反馈或帮助。

(我是UADetector的作者。)

于 2013-03-05T07:32:31.350 回答