最近、次の問題に遭遇しました: HttpURLConnection から非同期でデータをロードする webview があります。ユーザーから資格情報を提供する必要があるため、http 接続中に基本認証に進む必要があるとします。URL に認証が必要かどうかわからない場合は、応答から 401 エラーが返されます。Async-Thread を一時停止して、スレッドを停止せずにユーザーに資格情報 (アラート ダイアログで px.by) を要求できる適切な方法はありますか?
URL requestedUrl = new URL(url);
urlConnection = (HttpURLConnection) requestedUrl.openConnection(proxy);
if (urlConnection instanceof HttpsURLConnection) {
((HttpsURLConnection) urlConnection)
.setSSLSocketFactory(sslContext.getSocketFactory());
}
String userandpass=username+":"+password;
String basicAuth = "Basic "
+ new String(Base64.encode(
userandpass
.getBytes(), Base64.NO_WRAP));
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
urlConnection.setRequestProperty("Authorization", basicAuth);
result = IOUtil.readFully(urlConnection.getInputStream());