我正在尝试在现有的 android 应用程序中集成一个颤振模块。使用以下代码启动视图工作正常:
private fun startFlutterActivity() {
val intent = FlutterActivity.withCachedEngine("default_engine").build(this)
startActivity(intent)
}
Run Code Online (Sandbox Code Playgroud)
但是我不确定如何传递额外的数据,例如一个 id 来为 flutter 组件获取数据。我知道你可以建立一个消息通道,但这似乎是传递东西的大量开销。
最简单的方法是通过初始路由将 id 传递给 flutter 引擎。
所以就像:
flutterEngine = new FlutterEngine(this);
// Configure an initial route.
flutterEngine.getNavigationChannel().setInitialRoute("showStuf?id=$id");
Run Code Online (Sandbox Code Playgroud)
或者,在您的示例中,您可以简单地将意图额外FlutterActivityLaunchConfigs.EXTRA_INITIAL_ROUTE添加到意图中。
在 flutter 方面,您只需解析onGenerateRoute处理程序中的初始路由以获取您MaterialApp或其他导航器配置。
| 归档时间: |
|
| 查看次数: |
325 次 |
| 最近记录: |