欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android获取WebView中网页的Title(标题)信息

程序员文章站 2022-03-01 13:24:08
...

应用开发中需要获取WebView当前页面的标题、可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现、但是WebChromeClient也只有这个方法可以获取网页的title内容、没有其他获取内容的方法了、比如获取meta信息等、就需要使用js获取、然后和js交互来获得、也可以采用直接解析html的meta节点的方式

Android获取WebView中网页的Title(标题)信息


为了方便大家理解、我把整个coCreate()里面的代码贴出来、供大家参考、另外得自己添加WebViewClient、尽量不要用系统默认的WebViewClient来加载url


核心代码

//mWebview.setWebChromeClient(new WebChromeClient());
WebChromeClient wvcc = new WebChromeClient() {  
	@Override  
	public void onReceivedTitle(WebView view, String title) {
		super.onReceivedTitle(view, title);  
		Log.d("ANDROID_LAB", "TITLE="   title);
		//title就是网页的title
		//txtTitle.setText("ReceivedTitle:"  title);
	}  
};  
// 设置setWebChromeClient对象  
mWebview.setWebChromeClient(wvcc);


完整代码事例

public class MainActivity extends Activity {  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main_layout);
        final WebView webView = (WebView)findViewById(R.id.my_webview);
        
        WebChromeClient wvcc = new WebChromeClient() {
            @Override  
            public void onReceivedTitle(WebView view, String title) {  
                super.onReceivedTitle(view, title);  
                Log.d("ANDROID_LAB", "TITLE="   title);
				//title 就是网页的title
            }  
        };
        // 设置setWebChromeClient对象  
        webView.setWebChromeClient(wvcc);
		
        //此处省略N行代码
		
        webView.loadUrl(url);
    }  
}