我必须在我的手机上打开Facebook,Facebook的浏览器版本。但在我的手机上我只能打开它的手机版。 如何避免重定向Url。
现在使用此代码。
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class WebViewExample extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.facebook.com");
webView.setWebViewClient(new HelloWebViewClient());
}
}
其HelloWebViewClient类如下。
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onLoadResource(WebView view, String url)
{
if (url.equals("http://www.facebook.com"))
{
//do your own thing here
view.scrollTo(300, 0);
}
else
{
super.onLoadResource(view, url);
}
}
M使用Android 2.3.4,我的设备是google Nexus one。 请建议我在哪里出错,以及我采取了哪些措施来避免这种类型的URL重定向。
答案 0 :(得分:6)
在User-Agent
loadUrl()
标头
String yourUserAgent
= "User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
yourWebView.getSettings().setUserAgentString(yourUserAgent);
我将检查最常用的用户代理是什么,但我认为这将完美地运作
经过测试和工作
答案 1 :(得分:2)
使用WebView.setUserAgentString(String ua)
将用户代理字符串更改为桌面浏览器。这样,Facebook就不会知道用户是在手机上了。
所有用户代理字符串的列表: http://www.useragentstring.com/pages/useragentstring.php