Mam WebView, w którym chcę otwierać linki należące do domeny www.example.org w widoku internetowym, podczas gdy wszystkie pozostałe linki (jeśli kliknięto) są otwierane przez domyślną przeglądarkę poza moją aplikacją.Jak utworzyć linki w widoku strony lub otworzyć domyślną przeglądarkę w zależności od nazwy domeny?
Próbowałem użyć public boolean shouldOverrideUrlLoading (widok WebView, URL ciąg), ale nie działa poprawnie.
Oto kod, który nie działa:
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try {
URL urlObj = new URL(url);
if (urlObj.getHost().equals("192.168.1.34")) {
view.loadUrl(url);
return true;
} else {
view.loadUrl(url);
return false;
}
} catch (Exception e) {
}
}
}
W obu przypadkach (return true i return false) adres URL jest obsługiwane przez mój aplikacji.
Ten kod naprawdę daje żadnej wskazówki co różne zachowania są po powrocie inną wartość logiczną ponieważ dzwonisz view.loadUrl() w obu przypadkach, wytwarzając w ten sposób ten sam wynik. Jeśli usunąłeś tę linię z obu instrukcji, zobaczysz, że return false nadal ładuje URL w WebView ... i return true nic nie robi (musisz ręcznie coś zrobić). – Devunwired