我正在为三星Galaxy,moto xoom和kindle fire等平板电脑开发应用程序。
我的webview没有加载我提供的桌面版网址。
我尝试通过设置用户代理,但我不知道什么是“ua字符串”将解决我的问题。当我记录了ua字符串时,我得到了以下内容
代码:
String ua = m_webview.getSettings().getUserAgentString() ;
Log.i("AboutActivity", "UA = "+ua) ;
UA字符串:
UA = Mozilla/5.0 (Linux; U; Android 3.1; en-US; GT-P7500 Build/HMJ37) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
我在某处读到了我需要删除ua字符串中的“mobile”但我在打印的ua字符串中没有“移动”。
我已经通过添加桌面来尝试以下ua字符串,即使它不会出现
String ua = "Mozilla/5.0 (Linux; U; Android 3.1; en-US; GT-P7500 Build/HMJ37) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Desktop Safari/534.13";
mWebview.getSettings().setUserAgentString(ua);
答案 0 :(得分:7)
可能是因为您在用户代理中有Android
,他们知道您在手机上。尝试更多桌面浏览器,例如:
String ua = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
答案 1 :(得分:0)
这对我有用:请参阅this
public void setDesktopMode(final boolean enabled) {
final WebSettings webSettings = webview.getSettings();
final String newUserAgent;
if (enabled) {
newUserAgent = webSettings.getUserAgentString().replace("Mobile", "eliboM").replace("Android", "diordnA");
}
else {
newUserAgent = webSettings.getUserAgentString().replace("eliboM", "Mobile").replace("diordnA", "Android");
}
webSettings.setUserAgentString(newUserAgent);
webSettings.setUseWideViewPort(enabled);
webSettings.setLoadWithOverviewMode(enabled);
webSettings.setSupportZoom(enabled);
webSettings.setBuiltInZoomControls(enabled);
}