【发布时间】:2020-02-11 10:33:28
【问题描述】:
我正在使用 Java 开发 Apache Wicket WebApplication。在这个应用程序中,我有一个使用用户代理来检测用户设备的通用方法。但是,由于 iOS 13 更新,我的检查不再适用于 iPad,因为用户代理为 iPad 和 PC 返回 MacIntel 或 Intel Mac。查了一下发现这里已经讨论过这个问题了:
Link 1
Link 2
Link 3
但这些解决方案仅适用于 JavaScript。我需要在 Java (org.apache.wicket.protocol.http.WebSession) 中处理这个问题。在 WebSession 的属性中,不存在提取触摸点数量的方法。任何人都可以帮助我获得接触点的数量或有其他想法如何解决这个问题。谢谢。
我当前的代码如下所示:
public static boolean isTablet(WebSession pWebSession) {
String userAgent = pWebSession.getClientInfo().getUserAgent();
if (userAgent != null && (userAgent.contains("iPad")
|| (userAgent.contains("Android") && !userAgent.contains("Mobile")))
|| (userAgent.contains("PlayBook"))) {//BlackBerry tablet
return true;
}
return false;
}
【问题讨论】:
标签: java wicket user-agent ios13