Как определить имя устройства в Safari на iOS 13, используя apache WebSession в Java? - PullRequest
0 голосов
/ 11 февраля 2020

Я работаю над Apache Wicket WebApplication в Java. В этом приложении у меня есть общий метод для обнаружения пользовательского устройства с помощью пользовательского агента. Однако, поскольку обновление iOS 13, моя проверка больше не работает для iPad, поскольку пользовательский агент возвращает MacIntel или Intel Ma c для iPad и P C. Я проверил и обнаружил, что эта проблема уже обсуждалась здесь:
Ссылка 1
Ссылка 2
Ссылка 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;
    }

1 Ответ

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

Вы можете попытаться использовать yauaa вместо внутреннего пользовательского агента Wicket, который довольно стар и поэтому устарел в версии 8 и будет удален для 9.

...