Android获取WebView中网页的Title(标题)信息
程序员文章站
2022-03-01 13:24:08
...
应用开发中需要获取WebView当前页面的标题、可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现、但是WebChromeClient也只有这个方法可以获取网页的title内容、没有其他获取内容的方法了、比如获取meta信息等、就需要使用js获取、然后和js交互来获得、也可以采用直接解析html的meta节点的方式
为了方便大家理解、我把整个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); } }