Можно ли перехватывать команды из HTML страницы в WebView?

Рейтинг: 1Ответов: 1Опубликовано: 03.04.2015

Есть WebView, в него загружена страница HTML, в ней например ссылка или картинка. Могу ли я перехватить нажатие на картинку или ссылку и передать приложению?

Ответы

▲ 1Принят

Можно перехватывать изменения URL.
Для этого у WebViewClient нужно переопределить метод

shouldOverrideUrlLoading(WebView view, String url)

или

shouldInterceptRequest(WebView view, String url)

Перехватывать нажатия как-то, думаю ,можно, но не просто. Например установить у WebView onTouchListener, в котором определять каким-то образом, какой элемент находится по этим координатам.

UPD:
Как определить, какой элемент находится по заданным координатам:

WebView.loadUrl("javascript:document.elementFromPoint(x, y);");

Результат можно вернуть, встроив в WebView JavaScriptInterface