0

У меня есть WebView, в котором я загружаю веб-страницу. На этой веб-странице пользователь должен выполнить некоторые действия. Конкретное действие необходимо выполнить, когда пользователь приходит на определенную веб-страницу. Это действие должно выполняться автоматически.Сделайте что-нибудь, если URL WebView содержит строку

Как я могу постоянно проверять текущий URL-адрес в WebView и подключать действие к определенному условию?

Пример кода:

String url = wv.getUrl(); 
if (url.contains("string")) 
{ 
    code = url.substring(url.lastIndexOf("value=") + 6); 
    dialog.dismiss(); //action 
} 

Однако там, где я могу поместить это так непрерывно проверяет URL в WebView? Любая помощь приветствуется.

ответ

2

Вы,

webView.setWebViewClient(new WebViewClient() 
    { 
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    {    

     String url = webView.getUrl(); 
     if (url.contains("string")) 
     { 
      code = url.substring(url.lastIndexOf("value=") + 6); 
      dialog.dismiss(); //action 
     } 
     return false;        
    } 
} 

Ref: http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView,java.lang.String)

+0

Спасибо так много! Тем не менее, это не возвращает мне URL-адрес, который я хочу загрузить, но возвращает текущий URL-адрес, поэтому до загрузки URL-адреса назначения, который я хочу получить ... – Shishdem

+0

О, но ваш вопрос заключался в том, что вы хотели узнать текущий URL-адрес. Посмотрите на onPageFinished тоже. http://developer.android.com/reference/android/webkit/WebViewClient.html#onPageFinished(android.webkit.WebView,java.lang.String) –

+0

Мой плохой! Сожалею. Теперь я исправил это, полностью упустил onPageFinished. Спасибо, я помету ваш ответ как правильный. – Shishdem