Android 使用web URL而不是webView.getTitle()的getTitle();
我试图在webView中获取网页标题,我不能只调用Android 使用web URL而不是webView.getTitle()的getTitle();,android,url,android-webview,Android,Url,Android Webview,我试图在webView中获取网页标题,我不能只调用webView.getTitle()
webView.getTitle()因为即使在onPageStarted()
中,WebView
也尚未收到标题。但是,我已经有了加载的网页的URL,因此如果有类似于getTitle(URL)的内容代码>这正是我想要的。仅使用URL,您就必须通过网络加载文档,对其进行解析,然后获取您可能不想自己获取的标题
我认为您实际需要的是:为您的Web视图设置一个自定义,并为此实现onPageFinished()
;传递给该方法的WebView实例已设置标题。有一个完整的例子。这不是最好的方法,但它可以工作(大约快70%):
是的,我已经在使用onPageFinished()进行此操作,但是速度太慢了,我希望在页面开始加载时立即获得标题。我可以自己解析html,谢谢。@timeshift117:您可以尝试WebChromeClient及其onReceivedTitle()
,这会更快。
web.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
if(progress > 30 && progress < 41){
// using boolean:lock to call this method once everytime
if(!lock){
// get the Title by web.getTitle();
lock = true;
}
}
if(progress > 40){ lock = false; }
}});
web.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
if(OldPageTitle != web.getTitle()){//getTitle has the newer Title
// get the Title
OldPagerTitle = web.getTitle();
}
}});