-noUser-
icon 1
关于WebView(h5 js和原生通信)面试题
未解决
如何设计好原生和JS通信的通用模式
Android
发布于 2023-09-28 11:51
632浏览

场景:例如:从原生页面含有webView的页面,-》打开h5页面用户浏览 -〉用户点击某个按钮(比如点赞收藏)发现user没有登录 -》 跳到原生登录界面登录-〉用户登录后获取user信息后登录页面关闭 -》返回到原来的H5页面及时更新当前界面的点赞收藏 要求:这个过程里如何设计这种交互,并把这种模式做成通用的(不只是点赞 其他类似功能也可以用)。 让其他人使用你写好的这个模式成本低更改小。 我只说了传统的addJavaScrcpInterface对象映射可以让js调用java,和eveluateJavascrapt调用js。然后activity获取到js发现没有登录的通知后,startActivityForResult(intent)调用登录页面后从onActivityResult里拿到信息,然后再与js交互主动告诉js已经成功。这种方式依赖于具体的js方法。 面试官说要传入字符串区分是哪些方法以通用。另外对于intent这种方式操作对象不是很好。一直强调如何通用。 面试官提醒(是否能在js中也能有callback的这种方法,发现没有登录时候调用一个方法后等你登录成功后,他的callback能否获取到登录user信息?)

场景:例如:从原生页面含有webView的页面,-》打开h5页面用户浏览 -〉用户点击某个按钮(比如点赞收藏)发现user没有登录 -》
跳到原生登录界面登录-〉用户登录后获取user信息后登录页面关闭 -》返回到原来的H5页面及时更新当前界面的点赞收藏

要求:这个过程里如何设计这种交互,并把这种模式做成通用的(不只是点赞 其他类似功能也可以用)。 让其他人使用你写好的这个模式成本低更改小。

我只说了传统的addJavaScrcpInterface对象映射可以让js调用java,和eveluateJavascrapt调用js。然后activity获取到js发现没有登录的通知后,startActivityForResult(intent)调用登录页面后从onActivityResult里拿到信息,然后再与js交互主动告诉js已经成功。这种方式依赖于具体的js方法。

面试官说要传入字符串区分是哪些方法以通用。另外对于intent这种方式操作对象不是很好。一直强调如何通用。

面试官提醒(是否能在js中也能有callback的这种方法,发现没有登录时候调用一个方法后等你登录成功后,他的callback能否获取到登录user信息?)

场景:例如:从原生页面含有webView的页面,-》打开h5页面用户浏览 -〉用户点击某个按钮(比如点赞收藏)发现user没有登录 -》
跳到原生登录界面登录-〉用户登录后获取user信息后登录页面关闭 -》返回到原来的H5页面及时更新当前界面的点赞收藏

要求:这个过程里如何设计这种交互,并把这种模式做成通用的(不只是点赞 其他类似功能也可以用)。 让其他人使用你写好的这个模式成本低更改小。

我只说了传统的addJavaScrcpInterface对象映射可以让js调用java,和eveluateJavascrapt调用js。然后activity获取到js发现没有登录的通知后,startActivityForResult(intent)调用登录页面后从onActivityResult里拿到信息,然后再与js交互主动告诉js已经成功。这种方式依赖于具体的js方法。

面试官说要传入字符串区分是哪些方法以通用。另外对于intent这种方式操作对象不是很好。一直强调如何通用。

面试官提醒(是否能在js中也能有callback的这种方法,发现没有登录时候调用一个方法后等你登录成功后,他的callback能否获取到登录user信息?)
编写答案
回答问题, 请先登录
2条回答
0
六道对穿肠
2024-04-06 20:46

使用观察者模式去实现,创建接口,实现接口

使用观察者模式去实现,创建接口,实现接口

使用观察者模式去实现,创建接口,实现接口

0
雪茄
2023-10-07 15:10

android JsBridge实现原理就是你问的这个问题,具有回调函数功能,你可以查一下这个,讲解的文章很多

android JsBridge实现原理就是你问的这个问题,具有回调函数功能,你可以查一下这个,讲解的文章很多

android JsBridge实现原理就是你问的这个问题,具有回调函数功能,你可以查一下这个,讲解的文章很多

提问者
BBS1603099341858
问题数: 2 个
相似问题
zygote为什么不采用binder面试题的问题
1
4 回答
已解决
binder相关面试题
1
1 回答
已解决
面试问题:项目中遇到的技术难点
1
1 回答
已解决
Android面试的技术亮点和难点有哪些?
1
1 回答
已解决
被问到原理怎么回答,比如RxJava
1
2 回答
已解决
关注
回答
收藏