我在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()
,但我无法获得像GT-P1000M
我该怎么做?
由于
答案 0 :(得分:3)
此功能经常被请求,但目前尚未实施。为了能够实现这一点,我们需要一个包含有关相应设备信息的大量User-Agent字符串。我不认为我们得到这个列表,但我们应该能够部分地(按需)实现它。
在最后几天,我已经考虑过实现一组已知的片段,这样你就可以这样写:
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 的作者。)