Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java webview中的移动站点没有';行不通_Java_Android_Mobile_Android Webview_User Agent - Fatal编程技术网

Java 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来显示一个网站。当然,这个网站有一个移动版本,但是当我尝试运行这个应用程序时,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");
当然不行

另一个(不起作用)

还有许多其他的,但都不起作用。我能做什么

用我的代码编辑

@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());