显示Android WebView的favicon

tro*_*man 7 favicon android

我想通过android.webkit.WebView显示我访问的网站的favicon.我尝试了两种方法来获得它:

1)WebViewClient.onPageStarted()方法有一个始终为null的favicon参数.

2)WebChromeClient.onReceivedIcon()方法永远不会被调用.

3)调用WebView.getFavicon()onPageStarted()onPageFinished(),但它总是返回null.

我无法在网上找到一个显示如何访问favicon的示例.任何提示将不胜感激.

小智 19

要使WebView图标方法和侦听器起作用,您需要首先手动打开WebIconDatabase.您通常会在onCreate()Activity 的方法中执行此操作.

尝试将以下行添加到onCreate():

WebIconDatabase.getInstance().open(getDir("icons", MODE_PRIVATE).getPath());
Run Code Online (Sandbox Code Playgroud)

完成此操作后,您应该开始onReceivedIcon()为此Activity中的任何WebView 获取回调,并且该getFavicon()方法还应该在图标可用时开始返回有效对象而不是null.