2012-04-12 14 views
5

Estoy intentando interceptar el clic de la URL en mi vista web. Quiero bloquear el lanzamiento de ciertas URL cuando se hace clic en la vista web.Bloquear ciertas URL para la seguridad en la vista web de android

Para eso estoy anulando el método shouldOverrideUrlLoading. Pero, sin embargo, lo que sea return true/false esa url se está lanzando.

por ejemplo, si quiero bloquear http://www.xyz.com puedo obtener la cadena de URL y poder variarla con mis URL de lista negra, pero se lanza independientemente del valor de devolución.

puedo estar equivocado en el enfoque que necesito sugerencia

+0

Tener usted proporcionó un 'WebViewClient'? Además, ¿por qué no utilizas el método 'shouldInterceptRequest()', que suena más parecido a lo que quieres? –

+0

@Lukas Knuth: Gracias sí. He proporcionado el cliente webview comprobará el método shouldInterceptRequest() – nishi

+1

Puede usar el método 'shouldOverrideUrlLoading' y devolver true, obtener la URL se cargará, si está en su lista negra, luego cargue la suya' vista de advertencia' – dreamtale

Respuesta

3

intentar algo como esto

@Override 
public boolean shouldOverrideUrlLoading(WebView wView, String url) 
{ 
    if(url.equals("from your list")){ 
     //DO something 
    } 
    return true; 
} 

sin embargo yo no bastante remeber el booleano value.just probarlo ....

+0

Bloquea solo webview en mi aplicación ... pero quiero bloquear en todos los navegadores instalados en mi dispositivo. –

+0

para eso tienes que editar el archivo "hosts" –

Cuestiones relacionadas