我正在向现有的 Android 项目添加颤振,一切正常,除了一件事:
我的 Android 项目只有一个 Flutter 模块。在那个 Flutter 模块中,我有两条路线将显示在 Android 项目的不同部分:
initialRoute: '/',
routes: {
'/': (_) => MyHomePage(),
'/settings': (_) => _SettingsPage()
}
在 Android Activity 中,如果我用这个启动一个新的 Flutter 活动:
startActivity(
FlutterActivity
.withCachedEngine(flutterEngineId)
.build(this)
)
它将使用默认的页面路由 ( /
) 启动 Flutter,这是预期的结果。然后在这个 Flutter 页面中,如果我导航回来,它将弹出 Flutter 引擎并导航回 Android Activity。目前一切都很好。
但是,如果我使用自定义初始路由启动 Flutter 活动,然后按下后退按钮,它不会弹出 Flutter 引擎并导航到 Android 活动,而是导航到初始 Flutter 路由(在本例中为/
路由)。
startActivity(
FlutterActivity
.withNewEngine()
.initialRoute("/settings")
.build(this)
)
如果我们在启动时指定初始路由,为什么会有这种行为FlutterActivity
?
如果这是预期的行为,那么让它导航到 Android 活动的最佳方法是什么?