0

好吧,我正在为一个简单的 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/");
        }


    }
4

2 回答 2

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

于 2013-11-29T14:42:04.570 回答
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");
于 2013-09-04T08:25:02.487 回答