我写了这个应用程序来访问一个网页。我已经实现了一个设置来选择是访问网站的移动版本还是桌面版本(我知道设置用户代理是一个肮脏的黑客)。
它在我的 Galaxy Tab 2 上运行良好,但在我的 Xperia S 上却不行。而且我不知道为什么..
link = getIntent().getExtras().getString("link");
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 100);
}
});
webView.setWebViewClient(new Callback());
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
if(settings.getString("user_agent", "Mobil").equals("Mobil")){
link = link.substring(24);
link = "http://mobilsiden.mobi"+link;
webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19");
}else{
webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1");
}
webView.loadUrl(link);
有没有比更改用户代理更好的解决方案(我想不出任何)?谁能明白为什么它可以在一台设备上运行,而在另一台设备上却不行?
提前致谢!