2016-05-09 10 views
-1

Ich benutze WebView, um ein Benutzerkonto in Android zu erstellen. Beim Erstellen eines Benutzers muss der Benutzer 3 Seiten durchlaufen, um die vollständige Registrierung abzuschließen. Ich muss das Skript auf 2. injizieren Seite, aber das Problem ist die URL zum Erstellen von Benutzer in allen 3 Seiten ist die gleiche (z. B. www.mywebpage/createUser). So ist das Problem - Da die URL identisch ist, kann ich nicht wissen, dass der Benutzer auf einer bestimmten URL ist, dann kann ich das Skript einfügen.Es gibt andere Wege wie (String oder irgendeine ID oder irgendein Tag), so dass ich zwischen Seiten unterscheiden kann.Wie Sie die aktuelle Seite in Android WebView kennen

+0

@Shabbir Dhangot Ich möchte url nicht zu erreichen, wie meine Frage klar zu sagen url gleiche user.I schaffen wollen basierend auf dem Inhalt nicht auf die URL unterscheiden – FiXiT

+0

Ich weiß, wie man Url bekommt, aber ich möchte auf der Grundlage von Inhalt der Seite unterscheiden – FiXiT

+0

Wenn Sie Zugriff auf die Webseite haben, wäre Ihre beste Lösung, eine Javascript-Schnittstelle in Ihrem Android-Code zu implementieren, und von der Registrierungsseite auszulösen Schnittstelle, damit Sie injizieren können, was Sie brauchen. Wenn Sie keinen Zugriff auf die Web-App haben und die URL die gleiche ist, die Sie angeben möchten, müssen Sie möglicherweise die HTML-Daten von der Seite abrufen und basierend auf Änderungen analysieren (http://stackoverflow.com/questions/8200945/how-to-get-html-Inhalt-from-a-webview) ABER wenn es ein SPA ist, können Sie auf andere Probleme stoßen. – aminner

Antwort

0

WebView hat öffentliche Methode getUrl(), die URL-Zeichenfolge zurückgibt. Erstellen Sie ein Objekt Ihrer Webansicht und finden Sie es anhand der ID. Oder instanziieren Sie auf eine Weise, die Sie benötigen ... und rufen Sie getUrl() für das Objekt auf und weisen Sie es string zu.

1

Sie können WebViewClient verwenden diese

WebView webview = new WebView(context); 
webview.setWebViewClient(new WebViewClient() 
     { 
      @Override 
      public void onPageStarted(WebView view, String url, Bitmap favicon) { 
       super.onPageStarted(view, url, favicon); 

       System.out.println("your current url when webpage loading.." + url); 
      } 

      @Override 
      public void onPageFinished(WebView view, String url) { 
       System.out.println("your current url when webpage loading.. finish" + url); 
       super.onPageFinished(view, url); 
      } 

      @Override 
      public void onLoadResource(WebView view, String url) { 
       // TODO Auto-generated method stub 
       super.onLoadResource(view, url); 
      } 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       System.out.println("when you click on any interlink on webview that time you got url :-" + url); 
       return super.shouldOverrideUrlLoading(view, url); 
      } 
     }); 
+0

@Krisha danke, aber ich weiß, das wird mir die aktuelle Url geben. In meinem Fall, wenn Benutzer registrieren die URL ist gleich für 3 Seiten. Ich möchte zwischen diesen Seiten unterscheiden, die nur durch URL unterschieden werden können – FiXiT

Verwandte Themen