1

したがって、WebView アプリケーションがロードしている URL を監視できるようにしたいと考えています。私が達成しようとしている主なことは、WebView を特定の Web サイト内に保持すること、または少なくともユーザーがいつ Web サイトの URL を離れるかを検出できるようにすることです。

例。www.google.com のベース URL があり、ユーザーが画像をクリックすると、「http://www.google.com/imghp」が表示されますが、それでも www.google.com のベース URL があるため、ベース URL が www.google.com ではなくなった場合 (ユーザーが検索結果をクリックしてから完全に別の Web サイトに移動した場合など) を監視する方法があります。

これを行う目的は、ユーザーにダイアログまたはトーストを表示して、この WebView アプリが作成された Web サイトを離れることを知らせることです。

コード、アイデア、または提案をいただければ幸いです。

サンプルコード

 @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 が異なる可能性があるため、警告ダイアログがポップアップし続けるだけです。

4

1 に答える 1