Я должен просто открыть facebook на своем мобильном телефоне, версию браузера facebook. Но в моем мобильном я могу только открыть свою мобильную версию. Как я могу избежать этого перенаправления Url.
M, используя этот код.
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-адресов.
Задайте заголовок 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);
Я проверю, для чего нужен пользователь-агент bedst, но я думаю, что это будет отлично работать
Протестировано и работает
Измените строку пользовательского агента, используя WebView.setUserAgentString(String ua)
в браузере рабочего стола. Таким образом, Facebook не будет знать, что пользователь находится на мобильном телефоне.
Больше информации
Список всех строк пользовательского агента: http://www.useragentstring.com/pages/useragentstring.php