在开发Android程序时,有时对于性能要求不高的地方,可以采用混合开发,利用WebView控件作为桥梁。这样就会经常碰到一个问题:如何实现js与 java 的交互。
本篇文章介绍如何使用js调用java?方法步骤如下:
- 定义一个协议: scheme ://authority?parameters
例:js://player?id=1&type=0
- 在WebViewClient的shouldOverrideUrlLoading方法中解析出schema、authority、parameters,然后根据这些参数执行不同的方法
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Uri uri = Uri.parse(url); String schema = uri.getScheme(); String authority = uri.getAuthority(); String id = uri.getQueryParameter("id"); String type = uri.getQueryParameter("type"); if ( condition ) { // To Do return true; } else { view.loadUrl(url); return true; } }