我们在APP中访问web界面时,可能涉及到购买或者需要鉴权信息的情形,这个时候就需要同步APP本地的登录信息.
这里我用的是通过JS交互让H5页面获取到token

通过实体类封装好apptoken 另外H5调用的android方法也写在该实体类中,用@JavascriptInterface注解就好了,当H5页面需要登录时,自动跳转到APP原生登陆界面
登陆完成后通过EventBus发送消息,在基类webActivity中监听
1 | webView.reload(); |
很好理解,重新加载网页.后面的
1 | webViewComponent.init(); |
方法是干什么的呢?
1 | webView.addJavascriptInterface(share, "appConfig"); |
添加JS交互的对象.在init()方法中,我们通过JsBridgeHelper的构造方法初始化share这个成员变量,而我们的apptoken正是在它的构造方法中获取的,这里不重走JsBridgeHelper的构造方法的话,H5调用的时候还是会取到空的apptoken
但是重新走完JsBridgeHelper的构造方法后,apptoken被重新赋值,这样我们就能走完后面的流程了.