通过WebView设置加载不同的URL

时间:2016-07-26 08:12:01

标签: android webview

我有一个加载网址的WebView应用,我想创建一个设置活动,用户可以在其中自定义设置。 我的问题是,如何制作一个RadioButton或Chooser,当点击它将打开移动版本的网站,同样如果桌面版本。单击,webview将加载桌面版...

3 个答案:

答案 0 :(得分:0)

默认情况下,webview会加载移动网站,如果您想强制加载桌面版网站,则可以使用

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

使用单选按钮选择此设置。使用isChecked()检查单选按钮,否则加载正常的webview。

答案 1 :(得分:0)

下面是WebView代码。

public class WebViewLinks extends Activity {

    WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.web_view);
        String Url = getIntent().getExtras().getString("Url");
        webView = (WebView) findViewById(R.id.webView);
        webView.setWebViewClient(new MyWebClient());
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView.loadUrl(Url);
    }

    public class MyWebClient extends WebViewClient {

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

    }
}

您可以在按钮点击或单选按钮选择中使用以下代码。

Intent webViewIntent = new Intent(this, WebViewLinks.class);
webViewIntent.putExtra("Url", yourURL);
startActivity(webViewIntent);

见下面的例子。

radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {

                if(checkedId == R.id.mobileview){
                    Intent webViewIntent = new Intent(this, WebViewLinks.class);
                    webViewIntent.putExtra("Url", mobileURL);
                    startActivity(webViewIntent);
                }else if(checkedId == R.id.desktopview){
                    Intent webViewIntent = new Intent(this, WebViewLinks.class);
                    webViewIntent.putExtra("Url", deskTopURL);
                    startActivity(webViewIntent);
                }
            }
        });

答案 2 :(得分:0)

您可以尝试以下代码

     if(rbtnMobile.isChecked){
        webview.getSettings().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");
     webview.loadUrl(url);
    }else{
    webview.loadUrl(url);
   }