我正在将网址加载到网页视图中以将其显示在我的应用中。我遇到的问题是,并不总是网站认识到我是一部手机(为什么这么做?)。我如何强制webview发送到我是手机的网站?目前我正在这样做
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");
但这不起作用?它不会起作用,因为我没有使用iPhone吗?我不认为这是因为它只是设置用户代理......
这是相关代码(相关代码只包含数据,例如从意图中获取网址并格式化字符串)
//package
//imports
public class WebViewing extends Activity {
private WebView webview;
private ProgressDialog dialog;
//init strings
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webviewer);
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
//init variables
//get intent data and format string
this.webview = (WebView) findViewById(R.id.webView1);
webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
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.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
dialog.setMessage("Website wird geladen...\nDies ist abh\u00E4ngig von deiner Internet-Verbindung.");
dialog.setCanceledOnTouchOutside(false);
dialog.show();
webview.loadUrl(sourceURL);
setTitle("Platz: " + plusRank + " - " + realDate);
}
//onCreateOptionsMenu method
//onOptionsItemSelected method
}
我还为用户代理
尝试了这个字符串 Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
答案 0 :(得分:10)
尝试将以下几行放在: -
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");
答案 1 :(得分:0)
我知道我参加聚会已经太晚了。但是,希望它能帮助仍然面临同样问题的人,我会在这里写下我的解决方案。
接受的答案对我不起作用。以下是。
Java:
webView.getSettings().setJavaScriptEnabled(true)
webView.getSettings().setUseWideViewPort(true)
科特林:
webView.settings.javaScriptEnabled = true
webView.settings.useWideViewPort = true
祝你好运,编码愉快!