В моем случае, при использовании window.location = "http://xxx" на моей веб-странице, событие shouldOverrideUrlLoading () не инициируется.
Однако, если я использую собственную схему или протокол URL-адреса, например"androidurl: // ", shouldOverrideUrlLoading () запущен. Мой обходной путь должен был бы использовать собственный протокол и добавить следующий код в метод shouldOverrideUrlLoading ():
if (url.startsWith("androidurl://")) {
url = url.replaceAll("androidurl://", "http://");
}
Это изменит пользовательский протокол обратно"http://" протокол, и вы можете обработать правильный URL-адрес оттуда.
Это работает для меня.