在Vaadin 7中检测平板电脑

blu*_*oid 5 vaadin

我正在寻找一种方法来轻松检测我的用户是在平板电脑上还是在全屏电脑上.知道怎么做吗?

getSession().getBrowser().isTouchDevice()不适用于越来越多拥有触摸屏的电脑.并且无论如何都在Vaadin 7中弃用了getBrowser().

我没有使用vaadin-touchkit(我应该吗?)

问候,Rob.

eeq*_*eeq 5

这是Vaadin 7的一种方式:

UI.init()中,您可以获得参数VaadinRequest,您可以将其(在类型检查之后)转换为VaadinServletRequest并使用getHttpServletRequest来获取基础HTTP请求.然后,您可以使用它来检查"User-Agent".就像是:

if (request instanceof VaadinServletRequest) {
    HttpServletRequest httpRequest = ((VaadinServletRequest)request).getHttpServletRequest();
    String userAgent = httpRequest.getHeader("User-Agent").toLowerCase();

    // TODO: Check user agent for all tablet matching keywords
    if (userAgent.contains("ipad")) { 
        //...
    }

}
Run Code Online (Sandbox Code Playgroud)