从 android 或 iOS 将参数传递给颤振模块
Posted
技术标签:
【中文标题】从 android 或 iOS 将参数传递给颤振模块【英文标题】:Pass parameters to flutter module from android or iOS 【发布时间】:2020-05-07 15:15:03 【问题描述】:我正在尝试将 Flutter 模块集成到现有的 android 应用中。使用以下代码启动视图可以正常工作:
private fun startFlutterActivity()
val intent = FlutterActivity.withCachedEngine("default_engine").build(this)
startActivity(intent)
但我不确定如何传递其他数据,例如为颤振组件获取数据的 id。我知道你可以建立一个消息通道,但这似乎是传递东西的大量开销。
【问题讨论】:
【参考方案1】:最简单的方法是将 id 传递给颤振引擎via the initial route。
比如:
flutterEngine = new FlutterEngine(this);
// Configure an initial route.
flutterEngine.getNavigationChannel().setInitialRoute("showStuf?id=$id");
或者,在您的示例中,您可以简单地将意图额外的FlutterActivityLaunchConfigs.EXTRA_INITIAL_ROUTE 添加到意图。
在颤振方面,您只需在 onGenerateRoute
handler 中为您的 MaterialApp
或其他导航器配置解析初始路由。
【讨论】:
以上是关于从 android 或 iOS 将参数传递给颤振模块的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 动态链接将自定义参数传递给 iOS 和 android