2016-09-01 3 views
1

У меня есть веб-просмотр, который я ограничиваю определенным доменом, поэтому пользователь не будет пытаться перейти оттуда в другие домены.WebViewClient, чтобы разрешить более одного домена

Один из моих фрагментов, загружающий URL-адрес из одного домена и которому необходимо перенести его в другой домен, нажав на кнопку на сайте. Так что я пытался придумать с логикой, чтобы позволить этому:

public class MyWebViewClient extends WebViewClient { 
private String firstUrl, secondUrl; 

public MyWebViewClient(String firstUrl, String secondUrl) { 
    this.firstUrl = firstUrl; 
    this.secondUrl = secondUrl; 
} 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (url.contains(firstUrl) == true && url.contains(secondUrl) == true) { 
     view.loadUrl(url); 
    } 
    return true; 

} 

}

Который не работает, сайт загружается нормально, но при попытке нажать на ссылку для второго утвержденного URL, это просто не загружая его ...

любые решения/идеи? Thanks

ответ

0

В случае если if (url.contains(firstUrl) == true && url.contains(secondUrl) == true) вы проверяете, принадлежит ли URL-адрес двум доменам одновременно, что невозможно. Вы также всегда возвращаетесь true, так WebView переопределяет URL-адрес ЗАГРУЗКЕ

Вот как shouldOverrideUrlLoading должен выглядеть следующим образом:

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (url.contains(firstUrl) || url.contains(secondUrl)) { 
     return false; 
    } 
    return true; 
} 

Надеется, что это помогает!

+0

Hi, Уже исправлено, просто не обновил сообщение. Извините и благодарю вас за ответ. – user3181843

Смежные вопросы