我想通过android.webkit.WebView显示我正在访问的网站的图标。我已经尝试了两种方法来实现它:
1)WebViewClient.onPageStarted()
方法的favicon参数始终为null。
2)永远不会调用WebChromeClient.onReceivedIcon()
方法。
3)在WebView.getFavicon()
和onPageStarted()
中调用了onPageFinished()
,但它始终返回null。
我无法在网上找到一个显示如何访问favicon的示例。任何提示都将不胜感激。
答案 0 :(得分:19)
要使WebView图标方法和侦听器起作用,您需要首先手动打开WebIconDatabase。您通常会在活动的onCreate()
方法中执行此操作。
尝试将以下行添加到onCreate()
:
WebIconDatabase.getInstance().open(getDir("icons", MODE_PRIVATE).getPath());
完成此操作后,您应该开始为此Activity中的任何WebView获取onReceivedIcon()
回调,并且只要图标可用,getFavicon()
方法也应该开始返回有效对象而不是null。
答案 1 :(得分:0)
我想要记住,WebView对象有一个方法getFavicon()
。这是我的愚蠢问题你试过吗?