2011-07-11 18 views
5

Korzystam z poniższego kodu, aby załadować facebook jak przycisk wewnątrz widoku.Android facebook jak przy użyciu webview

  likeWebView = (WebView)findViewById(R.id.webview); 
      likeWebView.getSettings().setJavaScriptEnabled(true); 

      url ="http://www.facebook.com/plugins/like.php?" + 
      "href=" + URLEncoder.encode("http://developers.facebook.com/docs/opengraph/") 
      + "&" + 
      "layout=button_count&" + 
      "show_faces=0&" + 
      "width=90&" + 
      "height=24&" + 
      "locale=en_IN" + 
      "colorscheme=light" ; 

      likeWebView.loadUrl(url); 

problem jest wtedy, gdy użytkownik loguje się w procesie przekierowuje go do pustej strony, jak mogę przechwycić tę prośbę Webview i anulować to działanie/zamknij Webview?

Odpowiedz

2

Właściwie użyłbym metody shouldOverrideUrlLoading WebViewClient w tym przypadku.

likeWebView = (WebView)findViewById(R.id.webview); 
likeWebView.getSettings().setJavaScriptEnabled(true); 

likeWebView.setWebViewClient(new WebViewClient() { 
    public boolean shouldOverrideUrlLoading (WebView view, String url) { 
     if(url.contains("something")) return true; 
     return false; //Default is to not override unless our condition is met. 
    } 
}); 
3
public class WebViewPreLoad extends WebView{ 
public WebViewPreLoad(Context context) { 
     super(context); 
} 
    public void loadUrl(String str){ 
    if(str.contains("something")) 
      super.loadUrl(str); 
     else 
        hide this 
    } 
} 

oczywiście trzeba będzie znaleźć właściwą "czy" ur przypadku

również zrobić to samo z

public void loadUrl(String url, Map<String,String> extraHeaders) 

zmiany super oświadczenie do:

super.loadUrl(url, extraHeaders); 
Powiązane problemy