Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用web URL而不是webView.getTitle()的getTitle();_Android_Url_Android Webview - Fatal编程技术网

Android 使用web URL而不是webView.getTitle()的getTitle();

Android 使用web URL而不是webView.getTitle()的getTitle();,android,url,android-webview,Android,Url,Android Webview,我试图在webView中获取网页标题,我不能只调用webView.getTitle()

我试图在webView中获取网页标题,我不能只调用
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();
            }                    



  }});