Tengo WebView en el que quiero abrir enlaces que pertenecen al dominio www.example.org en la vista web, mientras que todos los demás enlaces (si hace clic) se abren por el navegador predeterminado fuera de mi aplicación.¿Cómo hacer que los enlaces se abran en la vista web o se abra por navegador predeterminado según el nombre de dominio?
He intentado utilizar public boolean shouldOverrideUrlLoading (vista WebView, url String) pero no funciona correctamente.
Este es el código que no funciona:
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) {
}
}
}
En ambos casos (return true y volver falsa) de la URL es manejado por mi solicitud.
Este código realmente le da ninguna pista de lo que los diferentes comportamientos son al devolver un valor booleano diferente porque se está llamando view.loadUrl() en ambos casos, lo que produce la mismo resultado. Si eliminaste esa línea de ambas declaraciones, verías que la devolución falsa aún carga la url en WebView ... y el retorno verdadero no hace nada (debes hacer algo manualmente). – Devunwired