2015-10-10 7 views

Antwort

34

I Lesen Sie die Dokumentation in 1.000 Versuchen Android.developer und das war meine Lösung

Ich weiß nicht, wenn Sie verstehen, ich spreche Spanisch

webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     return false;     
    } 
}); 
+0

wirkt wie ein Zauber, Dank – Abdullah

+0

Arbeiten! @Abdullah bitte akzeptiere diese Antwort, wenn dies für dich funktioniert. –

+0

@Abdullah, bitte akzeptieren Sie diese Antwort. Es ist korrekt – rkyr

-1

Als alternative, dachte ich war addJavascriptInterface jede Schaltfläche klicken Ereignis Feuer Aktion JavascriptInterface

webView.addJavascriptInterface(new java2JSAgent(), "java2JSAgentVar"); //webView webview object 

public class java2JSAgent 
{ 
    @JavascriptInterface 
    public String getContacts() 
    { 
     String jsonResponse = "{result:'redirected'}"; 
     runOnUiThread(new Runnable() { 

      @Override 
      public void run() { 
       webView.loadUrl("file:///android_asset/index.html"); 
      } 
     }); 
     return jsonResponse; 
    } 
} 

sein könnte keinen guten Ansatz hinzufügen, aber atleast seine Arbeit :-) Dank

0

Hier sind einige Probleme.

  1. Von den neuesten Androids, der WebView und Chrome Client ist eine separate Anwendung, die ohne Benutzerabsicht automatisch aktualisiert werden kann.

  2. Von Chrome x> = 25 Version, sie geändert, wie Laden von URL in Android-Anwendung funktioniert, die Webview-Komponente verwendet. https://developer.chrome.com/multidevice/android/intents Sieht aus wie sie ohne Benutzergeste zu ändern url blockieren und startete von JavaScript-Zeiten

Lösung hier ist Benutzer zu zwingen, URL zu ändern, zum Beispiel auf der Schaltfläche klicken zu aktivieren.

Sie können auch die oben genannte Methode "shouldOverrideUrlLoading" im WebView-Client überschreiben.

5

Das ist für mich gearbeitet:

webView.setWebViewClient(new WebViewClient()); 
Verwandte Themen