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?