webview中的移动网站无效

时间:2013-09-04 08:18:02

标签: 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 (KHTML, like
Gecko) Version/4.0 Mobile Safari/530.17");

当然不行。

另一个(不起作用)

webview.getSettings().setUserAgentString("Mozilla/5.0 (Linux; Android 4.2.2; Nexus 7Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19");

还有很多其他的但没有效果。我该怎么办?

使用我的代码编辑

@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/");
        }


    }

2 个答案:

答案 0 :(得分:0)

使用以下代码段希望这可以与您合作

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

答案 1 :(得分:0)

  

[...]当我尝试运行应用程序时,webview会显示桌面   模式.. [...]我试图更改用户代理但没有...

尝试删除“webview.getSettings()。setUserAgentString(..”..

Android默认以“移动模式”打开..

  

[...]当我尝试导航并点击某个链接时,它会询问我是否要打开   它带有浏览器。

要打开用户内部您的WebView点击的链接,只需使用setWebViewClient()为您的WebView提供WebViewClient。例如:

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());

http://developer.android.com/guide/webapps/webview.html