我正在使用UADetector在 Google App Engine 中解析此用户代理,如下所示:
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
我该怎么做?
谢谢
最佳答案
经常需要此功能,但目前尚未实现。为了能够实现这一点,我们需要大量用户代理字符串,其中包含有关相应设备的信息。我认为我们没有得到这个列表,但我们应该能够部分实现它(按需)。
在过去的几天里,我考虑过实现一组已知的 fragment ,以便您可以编写如下内容:
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的作者。)
关于java - 使用UADetector从用户代理获取Android设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15214936/