【问题标题】:Pass parameters to flutter module from android or iOS从 android 或 iOS 将参数传递给颤振模块
【发布时间】:2020-05-07 15:15:03
【问题描述】:

我正在尝试将 Flutter 模块集成到现有的 Android 应用中。使用以下代码启动视图可以正常工作:

private fun startFlutterActivity() {
    val intent = FlutterActivity.withCachedEngine("default_engine").build(this)
    startActivity(intent)
}

但我不确定如何传递其他数据,例如为颤振组件获取数据的 id。我知道你可以建立一个消息通道,但这似乎是传递东西的大量开销。

【问题讨论】:

    标签: android flutter


    【解决方案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 或其他导航器配置解析初始路由。

    【讨论】:

      猜你喜欢
      • 2020-02-13
      • 2017-12-01
      • 2014-08-17
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多