WebView - nie można pobrać pliku bez dwukrotnego żądania?

Jeśli słuchamDownloadListener, Dostaję adres URL, którego muszę zażądaćpo tym, jak przeglądarka już tego zażądała. Przeglądarka już otworzyła połączenie z adresem URL (w jaki sposób wie, że to jest pobieranie), dlaczego nie może przekazać mi połączenia?

Próbowałem też przypisać zwyczajWebViewClient doWebView I użyćshouldOverrideUrlLoading przechwytywać adresy URL przed ich żądaniem. Aby pobrać pliki w ten sposób, żądam każdego adresu URL przed przeglądarką, a po jego zawartości Content-Type decyduję, czy go pobrać, czy nie, jeśli tak, to ściągam go z już otwartego połączenia, w przeciwnym razie zamykam połączenie i instruuję przeglądarka, aby ją załadować, a przeglądarka ... ponownie żąda. Plus, wshouldOverrideUrlLoading Nie mówię, jaką metodę i jakie pliki cookie należy użyć, aby zażądać podanego adresu URL.

Jak mogęnie niepotrzebnie zażądać dwa razy i nadal móc pobierać pliki za pomocą WebView?

questionAnswers(3)

yourAnswerToTheQuestion