Ваадин-14: проверка, является ли клиент мобильным устройством - PullRequest
0 голосов
/ 10 февраля 2020

Я занимаюсь разработкой веб-приложения и хочу разделить пользовательские интерфейсы для настольных компьютеров и мобильных устройств, поэтому я хочу проверить, является ли клиент, использующий мое приложение, мобильным устройством или нет.

Я пытался искать в Интернете официальная документация или форум vaadin, но я не смог найти никакой полезной информации, так как почти все решения, предложенные в этих ответах, больше не могут быть реализованы (методы были удалены).

Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2020

Вы можете использовать VaadinSession.getCurrent().getBrowser(), чтобы узнать, является ли ваш клиент телефоном или нет.

public  boolean isMobileDevice() {
    WebBrowser webBrowser = VaadinSession.getCurrent().getBrowser();
    return webBrowser.isAndroid() || webBrowser.isIPhone() || webBrowser.isWindowsPhone();
}
0 голосов
/ 24 февраля 2020

Если кому-то интересно, я нашел способ обойти CSS, даже если я думаю, что он немного ограничен.

Я использовал HtmlServletRequest, VaadinService и VaadinServletRequest: я в основном проверил, есть ли такие слова, как «Мобильный», « iPhone "или" Android "находятся в запросе.

Это не элегантное решение, но оно работает. Это код:

    public static boolean isPhone(HttpServletRequest request) {
    String url = request.getHeader("User-Agent");
    if (url.contains("iPhone") || url.contains("Android")) {
        isMobile = true;
    } else {
        isMobile = false;
    }
    return isMobile;
}
...