在js bridge下使用android的套路。
访问量: 2627
注意: 这个文章是对我们私有项目的备忘。目前还没开放使用。
需要配合 android native + vue js 使用。
步骤:
情况一:如果要拦截普通的URL跳转( /#/ 后面的url 发生变化)
情况二:如果使用js bridge, 那么直接在view中调用js方法。
1. 触发某个方法(<a @click='open_new_webview(n.url)'>)
2. 该方法的声明:
methods:{
open_new_webview(url){
// 语法糖。这里会调用java代码的 open_new_webview handler(类似于一个方法)
WebViewJavascriptBridge.callHandler('open_new_webview', url,
function(responseData){ }
)
}
},
3. 对应的Activity中:
webview.registerHandler("open_new_webview", new BridgeHandler() {
@Override
public void handler(String data, CallBackFunction function) {
Log.i(TAG, "== open_new_webview handler, data from web: " + data);
Log.i(TAG, "== data.class " + data.getClass());
// 打开一个新的activity
Intent intent = new Intent(getActivity(), CommonWebActivity.class);
intent.putExtra("url", data);
startActivity(intent);
}
});