通过WebView设置加载不同的网址
问题描述:
我有一个加载网址的WebView应用程序,我想创建一个设置活动,用户可以在其中自定义设置.. 我的问题是,如何制作单击按钮时会打开的RadioButton或Chooser移动版本的网站,同样如果桌面版本。被点击,网页流量会加载桌面版本...通过WebView设置加载不同的网址
答
默认的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。
答
下面是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);
}
}
});
答
你可以试试下面的代码
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);
}