3

私のアプリケーションでは、オーバーライドされたメソッド onReceivedHttpAuthRequest を使用して WebViewClient で WebView を使用し、AlertDialog を使用してユーザーに資格情報を入力するように求めます。資格情報が入力されたら、私は呼び出します

handler.proceed(username, password);

私の問題は次のとおりです: Android 4 エミュレーターでは、すべて正常に動作し、ユーザーは問題なく認証済みサイトをナビゲートできますが、古い Android バージョンでは、ユーザーが更新するたびに onReceivedHttpAuthRequest が呼び出されるか、認証済みサイト内の別のページに移動するようです。

誰かが私に提案してもらえますか、私は何を間違っていますか? ありがとうございました。

私が試したこと:

通話も

webView.setHttpAuthUsernamePassword(host, realm, username, password);

資格情報が入力され、onReceivedHttpAuthRequest でログイン ダイアログを呼び出す前にこのコードを追加する場合:

String[] usernamePassword = webView.getHttpAuthUsernamePassword(host, realm);
if (usernamePassword!=null) {
    handler.proceed(usernamePassword[0], usernamePassword[1]);
    return;
}

私にとってはうまくいきませんでした-ユーザーは認証されたサイトをナビゲートできますが、ログアウト後、ユーザー名とパスワードは引き続きwebViewに保存され、ユーザーは自動的に再度ログインします-この場合、ユーザーのログアウトを検出し、保存された資格情報を削除する必要があります教えて、これを行う方法は?

どうもありがとう!

4

0 に答える 0