Как избежать перенаправления URL? - PullRequest
4 голосов
/ 05 августа 2011

Мне нужно просто открыть 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.

Ответы [ 2 ]

6 голосов
/ 05 августа 2011

Установите заголовок 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);

Я проверю, какой самый простой пользовательский агент использовать, но я думаю, что это будет отлично работать

Проверено и работает

Tested and working

2 голосов
/ 05 августа 2011

Измените строку агента пользователя, используя WebView.setUserAgentString(String ua), в браузер на рабочем столе. Таким образом, Facebook не будет знать, что пользователь находится на мобильном телефоне.

Подробнее

Список всех строк агента пользователя: http://www.useragentstring.com/pages/useragentstring.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...