显示Android WebView的favicon

时间:2010-08-11 20:35:51

标签: android favicon

我想通过android.webkit.WebView显示我正在访问的网站的图标。我已经尝试了两种方法来实现它:

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

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

3)在WebView.getFavicon()onPageStarted()中调用了onPageFinished(),但它始终返回null。

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

2 个答案:

答案 0 :(得分:19)

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

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

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

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

答案 1 :(得分:0)

我想要记住,WebView对象有一个方法getFavicon()。这是我的愚蠢问题你试过吗?