Отображение фавикона Android WebView

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

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

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

3) под названием WebView.getFavicon() на onPageStarted() и onPageFinished() но он всегда возвращает null.

Я не смог найти пример онлайн, который показывает, как получить доступ к favicon. Любые намеки были бы очень оцененный.

2 ответов


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

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

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

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


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