1. ホーム
  2. android

[解決済み] Android WebView、ブラウザを開かずにアプリでリダイレクトを処理する方法

2022-06-26 20:14:22

質問

現在、私のアプリでは、アクセスしている URL にリダイレクトがあり、これが発生すると、WebView は私のアプリにとどまるのではなく、新しいブラウザを開くことになります。設定を変更して、ビューが通常のように URL にリダイレクトしますが、新しいブラウザを開くのではなく、アプリ内にとどまるようにする方法はありますか?

編集します。

リダイレクトするURLが欲しいのですが、それを作成する方法がわかりません。そのため、そのURLにアクセスする唯一の方法は、私が欲しいものにリダイレクトを引き起こすものを経由することです。

例えば ここにアクセスすると http://www.amazon.com/gp/aw/s/ref=is_box_/k=9780735622777 とすると、実際の製品に URL がリダイレクトされることに注意してください。私のアプリでは、新しいブラウザで開けば問題なく表示されますが、アプリ内で WebView を使用すると、次のように k=9780735622777 で検索しているように表示されます。 http://www.amazon.com/gp/aw/s/ref=is_s_?k=k%3D9780735622777&x=0&y=0 . or、ブラウザでビューを開き、適切なものを表示します。しかし、私はすべてを自分のアプリ内に保持したいのです。

どのように解決するのですか?

WebViewClientを作成し、その上で をオーバーライドする必要があります。 メソッドをオーバーライドします。

webview.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url){
        // do your handling codes here, which url is the requested url
        // probably you need to open that url rather than redirect:
        view.loadUrl(url);
        return false; // then it is not handled by default action
   }
});