Como "monitorar" a base do URL no WebView
Então eu quero ser capaz de monitorar a URL que meu aplicativo WebView está carregando. A principal coisa que estou tentando realizar é manter o WebView dentro de um site específico ou, pelo menos, capaz de detectar quando o usuário está deixando o URL do site.
Exemplo. Se eu tiver o URL base de www.google.com e quando o usuário clicar em Imagens, ele receberá "http://www.google.com/imghp"No entanto, ainda tem o URL base de www.google.com, portanto, se houver uma maneira de monitorar quando o URL de base não é mais www.google.com, como quando um usuário clica em um resultado de pesquisa e é levado a um site diferente completamente.
O objetivo de fazer isso é que eu quero exibir ao usuário uma caixa de diálogo ou o Toast para que eles saibam que estão deixando o site para o qual esse aplicativo WebView foi criado.
Qualquer código, idéia ou sugestão seria muito apreciado.
Exemplo de código
@Override
public void onLoadResource(WebView view, String url)
{
if (url.equals("http://www.google.com"))
{
//do your own thing here
view.loadUrl(url);
}
else
{
AlertDialog.Builder localBuilder2 = new AlertDialog.Builder(Webview_Main.this);
localBuilder2.setTitle("Hey Wait!");
localBuilder2.setMessage("You currently are about to leave the website\n\nIf you want to stay inside this website, Please click the Go Back button below");
localBuilder2.setIcon(R.drawable.ic_launcher);
localBuilder2.setPositiveButton("Go Back",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface paramDialogInterface,
int paramInt) {
web.goBack();
}
});
localBuilder2.setNegativeButton("Continue",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface paramDialogInterface,
int paramInt) {
}
});
localBuilder2.show();
};
super.onLoadResource(view, url);
}
No entanto, este código acima não funciona, apenas mantém o diálogo de alerta, pois o URL pode ser diferente.