如何使用Java中的Apache WebSession在iOS 13的Safari中检测设备名称?

问题描述 投票:0回答:1

我正在用Java开发Apache Wicket WebApplication。在此应用程序中,我有使用用户代理检测用户设备的通用方法。但是,由于iOS 13更新,我的检查对于iPad不再起作用,因为用户代理返回iPad和PC的MacIntel或Intel Mac。我检查发现,此问题已在此处讨论:Link 1Link 2Link 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;
    }

java wicket user-agent ios13
1个回答
2
投票

您可以尝试使用yauaa代替非常老的Wicket内部用户代理,因此在版本8中已弃用,并将在9中删除。

© www.soinside.com 2019 - 2024. All rights reserved.