gpt4 book ai didi

java - Android WebView getFavicon() 返回 null

转载 作者:行者123 更新时间:2023-11-29 03:29:56 28 4
gpt4 key购买 nike

我试图在使用后获取加载页面的图标

    WebView webView = new WebView(getActivity());
webView.loadUrl("http://" + url);

我将异步 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);
}
});

返回的 favicon 始终为空,即使对于 google/facebook 等肯定有 favicon 的网站也是如此。

另一个线程说要使用 WebIconDatabase 但它已被弃用: Display the Android WebView's favicon

Android 站点上的 API 引用了甚至不存在的 WebViewClient.onReceivedIconhttp://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);
}
});

关于java - Android WebView getFavicon() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18794638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com