Вопрос:

Настройка WebView для просмотра рабочего стола, а не мобильного сайта

android android-webview

32201 просмотра

8 ответа

106 Репутация автора

Я провел довольно много исследований по переполнению стека и много исследований Google, но ничего, что я нашел, на самом деле не работает для меня. Я хочу, чтобы сайт просматривал настольный сайт, а не мобильный сайт. Как мне это сделать? Я хочу, чтобы он сразу переходил на сайт Desktop.

WebView myWebView = (WebView) findViewById(R.id.webview); 
    myWebView.loadUrl("http://www.apotter96.webs.com/");
}
Автор: user2039764 Источник Размещён: 04.02.2013 01:42

Ответы (8)


0 плюса

8329 Репутация автора

Вам необходимо изменить пользовательский агент: http://developer.android.com/reference/android/webkit/WebSettings.html#setUserAgentString(java.lang.String)

Вот пример:
Загрузка данных HTML в WebView

Автор: EvZ Размещён: 04.02.2013 01:45

29 плюса

1660 Репутация автора

Решение

Изменить пользовательский агент веб-просмотра

 String newUA="Foo/"; // Change this to desired UA

лайк

 String newUA= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
 mWebView.getSettings().setUserAgentString(newUA);
Автор: baboo Размещён: 04.02.2013 01:47

7 плюса

79 Репутация автора

Вы можете использовать WebView, чтобы отобразить представление в качестве рабочего стола с размещением на мобильном дисплее.

        webView = (WebView)findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);

        webView.getSettings().setSupportZoom(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setDisplayZoomControls(false);

        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webView.setScrollbarFadingEnabled(false);
Автор: Abhijeet Sharma Размещён: 16.09.2015 05:34

4 плюса

519 Репутация автора

Этот метод помогает вам установить DesktopMode на веб-просмотр

public void setDesktopMode(WebView webView,boolean enabled) {
    String newUserAgent = webView.getSettings().getUserAgentString();
    if (enabled) {
        try {
            String ua = webView.getSettings().getUserAgentString();
            String androidOSString = webView.getSettings().getUserAgentString().substring(ua.indexOf("("), ua.indexOf(")") + 1);
            newUserAgent = webView.getSettings().getUserAgentString().replace(androidOSString, "(X11; Linux x86_64)");
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else {
        newUserAgent = null;
    }

    webView.getSettings().setUserAgentString(newUserAgent);
    webView.getSettings().setUseWideViewPort(enabled);
    webView.getSettings().setLoadWithOverviewMode(enabled);
    webView.reload();
}

Назови это так

Мобильный режим: setDesktopMode(webView, false);

Режим рабочего стола: setDesktopMode(webView, true);

Автор: Amine Harbaoui Размещён: 04.08.2017 03:45

0 плюса

2420 Репутация автора

После долгих поисков это сработало для меня -

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);

    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDisplayZoomControls(false);

    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webView.setScrollbarFadingEnabled(false);
Автор: Anirban Размещён: 06.06.2018 02:57

0 плюса

8 Репутация автора

Небольшое обновление принятого ответа. Это новая строка. Написал это потому, что у кого-то возникла проблема «Обновить браузер» в комментариях.

String newUA= "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1";
mWebView.getSettings().setUserAgentString(newUA);
Автор: J.Doe Размещён: 16.07.2018 10:03

1 плюс

7 Репутация автора

Если у вас есть ошибка обновления браузера, вы можете попробовать установить Apple Safari UA или заменить UA на Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 Это сработало на 100% для меня.

webview =(WebView)findViewById(R.id.webView);
        webview.getSettings().setMinimumFontSize(12);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.getSettings().setLoadWithOverviewMode(true);
        webview.getSettings().setUseWideViewPort(true);
        webview.getSettings().setSupportZoom(true);
        webview.getSettings().setBuiltInZoomControls(true);
        webview.getSettings().setDisplayZoomControls(false);
        webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webview.setScrollbarFadingEnabled(false);
        String newUA= "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50";
        webview.getSettings().setUserAgentString(newUA);
        webview.loadUrl("https://solveforum.com");
Автор: Android Master Размещён: 15.10.2018 02:44

0 плюса

306 Репутация автора

Попробуй с этим

String ua = "Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 41.0.2228.0 Safari / 537.36";

Автор: Vignesh Размещён: 13.06.2019 05:24
Вопросы из категории :
32x32