Я использую WebViewClient.shouldOverrideUrlLoading, чтобы поймать любые клики по ссылкам в WebView. Это работает примерно в 95% случаев, но иногда его просто не называют.
Я заметил это в этих трех обстоятельствах:
- Когда ссылка указывает на страницу, она уже включена. Это не очень большая проблема, и об этом сообщается .
- Пока страница по-прежнему загружается, если пользователь нажимает ссылку, она редко ее ловит. Он просто откроет ссылку без вызова
shouldOverrideUrlLoading
. - Произвольно. Экспериментируя с этим за последние пару месяцев, я заметил, что иногда это просто не поймает. Это редко, но это происходит.
Теперь мой вопрос в основном заключается в том, как исправить проблему 2, так как другие - это не так много. Однако, если кто-то решил 1 или 3, я хотел бы услышать об этом.
Кроме того, я должен упомянуть, что я пробовал разные возвращаемые значения в shouldOverrideUrlLoading
, и я заметил, что всегда возвращающее истину, кажется, имеет лучший результат, но проблемы выше все еще происходят.