我正在开发一个 web 应用程序,我想将桌面和移动设备的 UI 分开,所以我想检查使用我的应用程序的客户端是否是移动设备。
我试图在网上查找官方文档或 vaadin 论坛,但我找不到任何有用的信息,因为这些答案中提出的几乎所有解决方案都不再可实施(这些方法已被删除)。
您可以使用VaadinSession.getCurrent().getBrowser()
来查看您的客户是否是电话。
public boolean isMobileDevice() {
WebBrowser webBrowser = VaadinSession.getCurrent().getBrowser();
return webBrowser.isAndroid() || webBrowser.isIPhone() || webBrowser.isWindowsPhone();
}
如果有人感兴趣,我找到了一种解决 CSS 的方法,即使我认为它有点有限。
我使用HttpServletRequest
,VaadinService
和VaadinServletRequest
: 我基本上检查了请求中是否包含“Mobile”、“iPhone”或“Android”之类的词。
这不是一个优雅的解决方案,但它确实有效。这是代码:
public static boolean isPhone(HttpServletRequest request) {
String url = request.getHeader("User-Agent");
return (url.contains("iPhone") || url.contains("Android"));
}