Показать значок Android WebView - PullRequest
       5

Показать значок Android WebView

7 голосов
/ 12 августа 2010

Я хотел бы отобразить значок веб-сайта, к которому я обращаюсь, через android.webkit.WebView.Я пробовал два способа получить его:

1) WebViewClient.onPageStarted() метод имеет параметр favicon, который всегда равен нулю.

2) WebChromeClient.onReceivedIcon() метод никогда не вызывается.

3) Вызывается WebView.getFavicon() в onPageStarted() и onPageFinished(), но оно всегда возвращает ноль.

Мне не удалось найти в Интернете пример, показывающий, как получить доступ к значку.Будем весьма благодарны за любые подсказки.

Ответы [ 2 ]

19 голосов
/ 18 марта 2011

Чтобы работали методы значков WebView и прослушиватели, сначала необходимо вручную открыть базу данных WebIconDatabase. Обычно вы делаете это в методе onCreate() вашей Деятельности.

Попробуйте добавить следующую строку в onCreate():

WebIconDatabase.getInstance().open(getDir("icons", MODE_PRIVATE).getPath());

Как только вы это сделаете, вы должны начать получать onReceivedIcon() обратных вызовов для любого WebView в этом действии, и метод getFavicon() должен также начать возвращать действительный объект, а не ноль, когда доступны значки.

0 голосов
/ 12 августа 2010

Я думаю, что нужно помнить, что для объекта WebView доступен метод getFavicon(). вот мой глупый вопрос ты пробовал это?

...