Найти в Дзене

Развлечение клиента WebView

Если вы собираетесь использовать WebView в качестве локального пользовательского интерфейса (по сравнению с просмотром веб-страниц), вы захотите иметь возможность получить контроль в ключевые моменты, особенно когда пользователи нажимают на ссылки. Вы захотите убедиться, что эти ссылки обрабатываются должным образом, либо путем загрузки вашего собственного содержимого обратно в WebView, либо путем отправки в Android намерения открыть URL в полноценном браузере, либо каким-то другим способомю.
Вы можете подключиться к активности WebView через функцию setWebViewClient(), которая принимает в качестве параметра экземпляр реализации WebViewClient. Предоставленный объект обратного вызова будет получать уведомления о широком спектре действий, начиная от получения частей страницы (onPageStarted() и т.д.) и заканчивая тем, когда вам, как хост-приложению, необходимо обработать определенные события, инициированные пользователем или обстоятельствами, такие как onTooManyRedirects(), onReceivedHt


Если вы собираетесь использовать WebView в качестве локального пользовательского интерфейса (по сравнению с просмотром веб-страниц), вы захотите иметь возможность получить контроль в ключевые моменты, особенно когда пользователи нажимают на ссылки.

Вы захотите убедиться, что эти ссылки обрабатываются должным образом, либо путем загрузки вашего собственного содержимого обратно в WebView, либо путем отправки в Android намерения открыть URL в полноценном браузере, либо каким-то другим способомю.


Вы можете подключиться к активности WebView через функцию setWebViewClient(), которая принимает в качестве параметра экземпляр реализации WebViewClient.

Предоставленный объект обратного вызова будет получать уведомления о широком спектре действий, начиная от получения частей страницы (onPageStarted() и т.д.) и заканчивая тем, когда вам, как хост-приложению, необходимо обработать определенные события, инициированные пользователем или обстоятельствами, такие как onTooManyRedirects(), onReceivedHttpAuthRequest() и т.д.

Общим хуком будет shouldOverrideUrlLoading(), где вашему обратному вызову передается URL (плюс сам WebView), и вы возвращаете true, если вы будете обрабатывать запрос, или false, если вы хотите обработать запрос по умолчанию (например, фактически получить веб-страницу, на которую ссылается URL).

Например, в случае приложения для чтения фидов, у вас, вероятно, не будет встроенного браузера с навигацией, поэтому, если пользователь нажимает на URL, вы, вероятно, захотите использовать намерение, чтобы попросить Android загрузить эту страницу в полноценном браузере.