Jas*_* Hu 1 java favicon android webview
我正在尝试使用后获取已加载页面的图标
WebView webView = new WebView(getActivity());
webView.loadUrl("http://" + url);
Run Code Online (Sandbox Code Playgroud)
我将异步附加WebViewClient到WebView加载后获取网站图标
webView.setWebViewClient(new WebViewClient()
{
@Override
public void onPageFinished(WebView view, String url)
{
String linkTitle = view.getTitle();
Bitmap favicon = view.getFavicon();
onLinkUrlFinished(url, linkTitle);
}
});
Run Code Online (Sandbox Code Playgroud)
返回的 favicon 始终为空,即使对于 google/facebook 等肯定具有 favicon 的网站也是如此。
另一个线程说要使用,WebIconDatabase但已弃用:
显示 Android WebView 的图标
android 站点上的 API 所指的WebViewClient.onReceivedIcon甚至不存在。http://developer.android.com/reference/android/webkit/WebView.html#getFavicon%28%29
这里发生了什么?
为了使用onReceiveIcon(),您应该使用setWebChromeClient. 这就是我所做的,它对我有用。
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
progressBar.setProgress(newProgress);
}
@Override
public void onReceivedIcon(WebView view, Bitmap icon) {
super.onReceivedIcon(view, icon);
webImage.setImageBitmap(icon);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5915 次 |
| 最近记录: |