2012-12-07 18 views
9

Ich habe ein WebView, in dem ich eine Seite mit einem benutzerdefinierten Link (wie App: // Aktion) laden. Ich registrierte die URL-Schemas in der Manifest-Datei und wenn ich auf den Link klicke, wird die onResume() -Methode meiner Aktivität mit den korrekten Daten aufgerufen und es funktioniert OK.Wie abzufangen URL lädt in WebView (Android)?

Mein Problem ist, dass der WebView immer noch versuchen, den Link zu laden, und mein WebView endet, um eine Meldung "Webseite nicht verfügbar" anzuzeigen. Ich will das nicht.

Wie kann ich verhindern, dass das WebView die URL lädt?

Hier ist mein Code:

WebView banner = ... 
banner.setWebViewClient(new WebViewClient() { 

    @Override 
    public void onLoadResource(WebView view, String url) { 

     if (url.startsWith("app://")) { 

      Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url), getContext(), Main.class); 
      //startActivity(i); 
     } 
    } 
} 

banner.loadUrl("url_to_the_banner"); 

Antwort

6

Aber es muss andernfalls false zurückgeben, so:

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url){ 
    if(url.startsWith(myString){ 
     // handle by yourself 
     return true; 
    } 
    // ... 
    return false; 
} 
Verwandte Themen