У меня есть WebView в моем приложении, в котором какой-то сайт открыт (всегда то же самое, это моя собственная страница). На сайте есть код JS, который загружает некоторые изображения с удаленного хоста.
Я хочу перехватить запросы на такие изображения (по шаблону URL) и вернуть свой собственный контент (т.е. другое изображение) или оставить запрос нетронутым в зависимости от внутренней логики приложения.
Можно ли это сделать?
EDIT: текущее состояние вопроса...
WebView
имеет возможность установить WebViewClient
(как отмечено Axarydax). WebViewClient
имеют два полезных метода
-
shouldOverrideUrlLoading
-
onLoadResource
shouldOverrideUrlLoading
способен перехватывать любую загрузку URL-адреса, если загрузка инициируется взаимодействием страницы (т.е. ссылка на странице нажата, WebView.loadURL( ") не запускает этот метод). Он также может отменить загрузку URL, возвращая false. Этот подход не применим, потому что" он не способен перехватывать загрузку ресурсов страницы (и изображения, которые мне нужно перехватывать, - это такой ресурс страницы).
onLoadResource
запускается каждый раз при загрузке ресурса страницы (и изображений! спасибо в jessyjones), но отменить это невозможно. Это делает этот метод не подходящим для моей задачи.