Android Агент пользователя WebView - PullRequest
0 голосов
/ 28 февраля 2020

возможно ли изменить UserAgent, который зависит от указанного c URL? Примерно так.

    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);
        }
    }

Но я не знаю, куда мне поместить этот код. Спасибо.

1 Ответ

0 голосов
/ 10 марта 2020

Поместите свой код в эту часть 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);
        }
    });
...