我们在APP中访问web界面时,可能涉及到购买或者需要鉴权信息的情形,这个时候就需要同步APP本地的登录信息.

这里我用的是通过JS交互让H5页面获取到token

通过实体类封装好apptoken   另外H5调用的android方法也写在该实体类中,用@JavascriptInterface注解就好了,当H5页面需要登录时,自动跳转到APP原生登陆界面

登陆完成后通过EventBus发送消息,在基类webActivity中监听

webView.reload();

很好理解,重新加载网页.后面的

webViewComponent.init();

方法是干什么的呢?

webView.addJavascriptInterface(share, "appConfig");

添加JS交互的对象.在init()方法中,我们通过JsBridgeHelper的构造方法初始化share这个成员变量,而我们的apptoken正是在它的构造方法中获取的,这里不重走JsBridgeHelper的构造方法的话,H5调用的时候还是会取到空的apptoken

但是重新走完JsBridgeHelper的构造方法后,apptoken被重新赋值,这样我们就能走完后面的流程了.

Last modification:December 3rd, 2019 at 01:50 pm
If you think my article is useful to you, please feel free to appreciate