Хотите загрузить настольную версию в моем веб-браузере, используя uastring - PullRequest
2 голосов
/ 29 ноября 2011

Я разрабатываю приложение для планшетов, таких как Samsung Galaxy, Moto Xoom и Kindle Fire.

Мое веб-представление не загружает настольную версию URL, которую я даю.

Я попытался установить пользовательский агент, но я не знаю, что именно «строка ua» решит мою проблему. Когда я взял журнал строки ua, я получил следующее

Код:

String ua = m_webview.getSettings().getUserAgentString() ;
Log.i("AboutActivity", "UA = "+ua) ;

UA Строка:

UA = Mozilla/5.0 (Linux; U; Android 3.1; en-US; GT-P7500 Build/HMJ37) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13

Я где-то читал, что мне нужно удалить «mobile» в строке ua, но я не получил «mobile» в напечатанной строке ua.

Я попробовал следующую строку ua, добавив в нее рабочий стол, хотя она не приходит

 String ua = "Mozilla/5.0 (Linux; U; Android 3.1; en-US; GT-P7500 Build/HMJ37) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Desktop Safari/534.13";
 mWebview.getSettings().setUserAgentString(ua);

Ответы [ 2 ]

7 голосов
/ 29 ноября 2011

Возможно, они знают, что вы разговариваете по мобильному телефону, потому что у вас есть Android в пользовательском агенте. Попробуйте что-нибудь более похожее на браузер, например:

String ua = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
0 голосов
/ 06 сентября 2018

Это работает для меня: см. это

    public void setDesktopMode(final boolean enabled) {
    final WebSettings webSettings = webview.getSettings();

    final String newUserAgent;
    if (enabled) {
        newUserAgent = webSettings.getUserAgentString().replace("Mobile", "eliboM").replace("Android", "diordnA");
    }
    else {
        newUserAgent = webSettings.getUserAgentString().replace("eliboM", "Mobile").replace("diordnA", "Android");
    }

    webSettings.setUserAgentString(newUserAgent);
    webSettings.setUseWideViewPort(enabled);
    webSettings.setLoadWithOverviewMode(enabled);
    webSettings.setSupportZoom(enabled);
    webSettings.setBuiltInZoomControls(enabled);
}
...