Java webview中的移动站点没有';行不通
我正在用一个简单的webview来显示一个网站。当然,这个网站有一个移动版本,但是当我尝试运行这个应用程序时,webview会显示桌面模式。我想尽一切办法,但似乎都不管用。。我试图更改用户代理,但什么都没有。。 这是我现在使用的用户代理的一部分Java webview中的移动站点没有';行不通,java,android,mobile,android-webview,user-agent,Java,Android,Mobile,Android Webview,User Agent,我正在用一个简单的webview来显示一个网站。当然,这个网站有一个移动版本,但是当我尝试运行这个应用程序时,webview会显示桌面模式。我想尽一切办法,但似乎都不管用。。我试图更改用户代理,但什么都没有。。 这是我现在使用的用户代理的一部分 webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U;` Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KH
webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U;`
Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like
Gecko) Version/4.0 Mobile Safari/530.17");
当然不行
另一个(不起作用)
还有许多其他的,但都不起作用。我能做什么
用我的代码编辑
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS); // Request progress circle
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
WebSettings websettings = webview.getSettings();
websettings.setJavaScriptEnabled(true);
webview.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3");
setProgressBarIndeterminateVisibility(true); // Show progress circle
final Activity activity = this;
webview.setWebChromeClient(new WebChromeClient(){
public void onProgressChanged(WebView view, int progress) {
activity.setTitle("Loading...");
activity.setProgress(progress * 100);
if(progress == 100)
setProgressBarIndeterminateVisibility(false); // Hide progress circle when page loaded
activity.setTitle("Title");
}
});
if (savedInstanceState == null)
{
webview.loadUrl("http://forum.ubuntu-it.org/");
}
}
使用下面的代码片段,希望这对您有用
webview.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3");
[…]当我尝试运行应用程序时,webview会显示桌面
模式[…]我试图更改用户代理,但什么都没有
尝试删除webview.getSettings().setUserAgentString(..)
默认情况下,Android以“移动模式”打开
[…]当我尝试导航并点击某个链接时,它会询问我是否想要打开
它使用浏览器
要打开用户在您的WebView中单击的链接,只需使用setWebViewClient()为您的WebView提供WebViewClient即可。例如:
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());
不行..我用完整的代码编辑了这个问题,这样你就可以更好地替换字符串,如果我写
webview.loadUrl(“http://forum.ubuntu-it.org/index.php?mobile=on")
第一页在移动版中正确启动。但是当我尝试导航并单击某个链接时,它会询问我是否要用浏览器(股票浏览器、dolphin、chrome)打开它。或者第二页在正常模式下加载而不是移动版。。
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());