1

我正在开发一个 web 应用程序,我想将桌面和移动设备的 UI 分开,所以我想检查使用我的应用程序的客户端是否是移动设备。

我试图在网上查找官方文档或 vaadin 论坛,但我找不到任何有用的信息,因为这些答案中提出的几乎所有解决方案都不再可实施(这些方法已被删除)。

4

2 回答 2

4

您可以使用VaadinSession.getCurrent().getBrowser()来查看您的客户是否是电话。

public  boolean isMobileDevice() {
    WebBrowser webBrowser = VaadinSession.getCurrent().getBrowser();
    return webBrowser.isAndroid() || webBrowser.isIPhone() || webBrowser.isWindowsPhone();
}
于 2020-02-25T15:22:19.957 回答
0

如果有人感兴趣,我找到了一种解决 CSS 的方法,即使我认为它有点有限。

我使用HttpServletRequest,VaadinServiceVaadinServletRequest: 我基本上检查了请求中是否包含“Mobile”、“iPhone”或“Android”之类的词。

这不是一个优雅的解决方案,但它确实有效。这是代码:

public static boolean isPhone(HttpServletRequest request) {
    String url = request.getHeader("User-Agent");
    return (url.contains("iPhone") || url.contains("Android"));
}
于 2020-02-24T09:53:20.130 回答