我在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
这样的android设备名我该怎么做?
谢谢
最佳答案
此功能经常被请求,但目前尚未实现。为了实现这一点,我们需要一个包含有关相应设备信息的用户代理字符串的大列表。我不认为我们能得到这份清单,但我们应该能够部分地(按需)执行它。
在过去的几天里,我考虑过实现一组已知片段,以便您可以编写如下内容:
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的作者。)