use*_*764 16 android android-webview
我已经做了很多关于Stack Overflow和大量Google研究的研究,但我找不到任何实际工作对我来说.我希望该网站能够查看桌面网站而不是移动网站.我该怎么做呢?我希望它直接转到桌面站点.
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.apotter96.webs.com/");
}
Run Code Online (Sandbox Code Playgroud)
bab*_*boo 31
更改webview的用户代理
String newUA="Foo/"; // Change this to desired UA
Run Code Online (Sandbox Code Playgroud)
喜欢
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);
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以使用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);
Run Code Online (Sandbox Code Playgroud)
小智 6
有些网站不使用用户代理来确定是否必须显示页面的移动版本或桌面版本。有些页面使用屏幕尺寸来执行此操作。
我构建了一个应用程序以在桌面模式下使用页面,但它无法正常工作。始终显示移动版本,因为页面使用屏幕尺寸而不是用户代理字符串。
此方法可帮助您在Webview上设置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();
}
Run Code Online (Sandbox Code Playgroud)
这样叫
行动模式: setDesktopMode(webView, false);
桌面模式: setDesktopMode(webView, true);
小智 5
唯一对我有用的解决方案(javascript将被执行多次,但这是目前唯一有效的解决方案)
@Override
public void onLoadResource(WebView view, String url) {
view.evaluateJavascript("document.querySelector('meta[name=\"viewport\"]').setAttribute('content', 'width=1024px, initial-scale=' + (document.documentElement.clientWidth / 1024));", null);
}
Run Code Online (Sandbox Code Playgroud)
您也可以设置桌面 UA 字符串
webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
Run Code Online (Sandbox Code Playgroud)