关于 flutter_boost 实现 第一个fluter页面跳入第二个的时候 关闭第一个页面 或者 第一个页面到第二个页面到第三个页面关闭前两个页面

关联issue https://github.com/alibaba/flutter_boost/issues/613

场景1、比如先登录页面 然后 跳主页 关闭 登录页 

解决方案

1、Flutter侧可以用Navigator进行跳转,这样它们实际上是放在一个容器里的,你想关闭所有页面的时候直接用FlutterBoost.close 会移除所有Flutter页面所依赖的那个容器,

不过前面flutter -> flutter 使用 Navigator.push 来跳转,最后flutter -> native 先调用FlutterBoost.close 然后 then open....感觉好像有点问题

2、维护中间页面的uniqueId统一close掉

3、如果是打开主界面关闭当前页面可以先打开主页面 然后then 里面关闭当前页面

场景2、进入App是 flutter-login-page,登陆后跳flutter-home-page,这时候需要将login-page replace掉,但是boost不支持replace如果pop再push的话,因为login-page已经是栈顶了,pop就直接退出App了

解决方案

1、Native 侧先push然后移除底部Login的Container,close方法close的是最开始的那个Native页面了,就退出应用了。activity.startActivity后,FlutterBoost.instance().currentActivity().finish()一下

2、flutter 侧 FlutterBoost.containerManager
.containerStateOf(
BoostContainer.of(context).settings.uniqueId)
.pop();
 
posted @ 2020-04-18 17:52  nightfallsad  阅读(1852)  评论(0编辑  收藏  举报