Der beste Weg, um eine WebView-Anfrage in Android abzufangen

Ich benutze einWebView in meiner App, in der ich Anfragen abfangen muss. Ich verwende derzeit den folgenden Code, um es zu tun.

public WebResourceResponse shouldInterceptRequest (WebView view, String url) {
    HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
    conn.setRequestProperty("User-Agent", userAgent);

    String mime;
    if (url.lastIndexOf('.') > url.lastIndexOf('/')) {
        String ext = url.substring(url.lastIndexOf('.') + 1);
        mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
    } else {
       mime = "text/html";
    }
    return new WebResourceResponse(mime, "UTF-8", conn.getInputStream());
}

Über Code funktioniert in den meisten Fällen gut, aber nicht alle. Wenn ich beispielsweise versuche, mich bei Outlook anzumelden, wird lediglich angezeigt, dass meine E-Mail-Adresse oder mein Kennwort falsch sind. Ich habe auch andere Fälle gesehen, in denen Anforderungen unterbrochen wurden, aber alles funktioniert einwandfrei, wenn ich @ entfernshouldInterceptRequest.

Gibt es einen besseren Weg als den, mit dem ich momentan Anfragen abfange?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage