js调用Native

2020-08-09  本文已影响0人  小虫虫奇遇记
image.png
  1. 拦截 WebViewClient.shouldOverrideUrlLoading方法

//格式:fusion://invokeNative?module=xxx&method=xxx&arguments=jsonarraystring
module对应AbstractBridgeModule实现类,method对应最终方法

2.解析uri,从namespaceMap中根据module获取最终AbstractBridgeModule的实现类
3.通过方法注解

  1. 反射调用targetMethod.invoke(getExportModuleInstance(targetClass), argsData);
@Export("AModule")
public class AModule extends AbstractBridgeModule {
}

mContainer.getActivity().startActivity(new Intent(Intent.ACTION_DIAL, uri)
-HybridActivity 实现HybridableContainer接口

https://blog.csdn.net/carson_ho/article/details/64904691

shouldOverrideUrlLoading调用时机:二级链接

上一篇下一篇

猜你喜欢

热点阅读