Как «контролировать» базу URL в WebView
Поэтому я хочу иметь возможность отслеживать URL-адрес, который загружает мое приложение WebView. Главное, что я пытаюсь сделать, - это сохранить WebView внутри определенного веб-сайта или, по крайней мере, определить, когда пользователь покидает веб-сайт ».с URL.
Пример. Если у меня есть базовый URL-адрес www.google.com, и когда пользователь нажимает на Картинки, он получает "http://www.google.com/imghp» Тем не менее, он по-прежнему имеет базовый URL-адрес www.google.com, поэтому, если есть способ отслеживать, когда базовый URL-адрес больше не является www.google.com, например, когда пользователь нажимает на результат поиска и затем переводится в другой сайт полностью.
Цель этого состоит в том, чтобы я хотел показать пользователю диалоговое окно или тост, чтобы они знали, что они покидают веб-сайт, для которого создано это приложение WebView.
Любой код, идеяс или предложения будут с благодарностью.
Пример кода
@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);
}
Однако вышеприведенный код не работает, только продолжает всплывать диалоговое окно с предупреждением, так как URL может отличаться.