Android WebView UserAgent

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

是否可以更改依赖于特定URL的UserAgent?像这样的东西。

    String url = webView.getUrl();
    String userAgent = webView.getSettings().getUserAgentString();
    if (url.contains("website") && userAgent.contains(" Mobile Safari")) {
        int index = userAgent.indexOf(" Mobile Safari");
        if (index != -1) {
            String fixedUserAgent = userAgent.substring(0, index);
            webView.getSettings().setUserAgentString(fixedUserAgent);
        }
    } else {
        if (!userAgent.contains("MyBrowser")) {
            String fixedUserAgent = userAgent + " Mobile Safari/537.36 MyBrowser/" + BuildConfig.VERSION_NAME + "a";
            webView.getSettings().setUserAgentString(fixedUserAgent);
        }
    }

但是我不知道该把代码放在哪里。谢谢。

android webview user-agent
1个回答
0
投票

将您的代码放入onLoadResource或PageStarted的该部分中,然后像这样添加webview.LoadUrl(youtURLs)

webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
 if (url.contains("website") && userAgent.contains(" Mobile Safari")) {
        int index = userAgent.indexOf(" Mobile Safari");
        if (index != -1) {
            String fixedUserAgent = userAgent.substring(0, index);
            webView.getSettings().setUserAgentString(fixedUserAgent);
    webview.LoadUrl(youtURLs)
        }
    } else {
        if (!userAgent.contains("MyBrowser")) {
            String fixedUserAgent = userAgent + " Mobile Safari/537.36 MyBrowser/" + BuildConfig.VERSION_NAME + "a";
            webView.getSettings().setUserAgentString(fixedUserAgent);
    webview.LoadUrl(youtURLs)

        }
    }
        }

        @Override
        public void onLoadResource(WebView view, String url) {
            super.onLoadResource(view, url);
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.