首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

原生Android activity发起二次路由后,如何让Flutter模块返回原生Android activity?

原生Android activity发起二次路由后,可以通过Flutter提供的MethodChannel来实现与原生Android activity的通信,从而实现Flutter模块返回原生Android activity的功能。

具体步骤如下:

  1. 在原生Android activity中,使用MethodChannel向Flutter发送消息,通知Flutter模块进行相应的操作。可以通过调用MethodChannel的invokeMethod方法来发送消息,指定方法名和参数。
  2. 在Flutter模块中,监听MethodChannel的消息,并根据收到的消息执行相应的操作。可以通过调用MethodChannel的setMethodCallHandler方法来监听消息,指定方法名和回调函数。
  3. 在Flutter模块中,执行完相应的操作后,可以通过MethodChannel向原生Android activity发送消息,通知原生Android activity进行相应的处理。可以通过调用MethodChannel的invokeMethod方法来发送消息,指定方法名和参数。
  4. 在原生Android activity中,监听MethodChannel的消息,并根据收到的消息执行相应的处理。可以通过调用MethodChannel的setMethodCallHandler方法来监听消息,指定方法名和回调函数。

通过以上步骤,就可以实现原生Android activity发起二次路由后,让Flutter模块返回原生Android activity的功能。

推荐的腾讯云相关产品:腾讯云移动应用分析(MTA),该产品提供了丰富的移动应用数据分析功能,可以帮助开发者深入了解用户行为和应用性能,优化应用体验。产品介绍链接地址:https://cloud.tencent.com/product/mta

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android Flutter:手把手教你如何进行AndroidFlutter的相互通信

在日常开发中,Android Native端与Flutter端通信交互的应用场景十分常用 今天,我将全面讲解Android Native端与Flutter端通信的交互的方式,旨在你熟练掌握Android...准备工作 在讲解上述三种通道前,我们需要将Flutter集成到当前的Android目录中 步骤1:创建 flutter module 模块 // 步骤1: cd到Android 工程目录 // 步骤2.../.android/include_flutter.groovy" )) // 注:”工程名/flutter模块名/.android/include_flutter.groovy“ // 步骤2:在app...发送过来的消息 System.out.println("Native:收到了"+s); // 接受到Flutter信息,采用reply实例将返回返回Flutter层...: () { _messageChannel .send('Flutter发起二次握手') // 发送的消息 .then((

3.1K20
  • 大前端开发中的路由管理之三:Android

    我们通常认为Android开发中的路由管理主要分为两部分,Android原生页面栈和混合开发页面栈。...当我们点击返回键进行页面切换时,会将这些Activity实例从任务栈中逐个移除,遵循先进出的原则。...我们知道Android的页面跳转是通过Intent、Flutter是通过Widget进行路由管理,在Android原生页面与Flutter之间的页面管理如图所示。...由此可知,对于更加复杂的如Flutter-Flutter-原生-Flutter-原生-原生页面间跳转等情况,同样可拆分为由任务栈管理、由Widget路由管理、以及由Channel方式实现路由管理。...----         至此,我们了解到了Android端是如何去实现路由管理的,那么,就请期待我们下一篇文章《大前端开发中的路由管理之四:iOS篇》吧,下篇文章将为大家揭秘iOS端是如何去做路由管理的

    3.3K11

    5分钟搞定FlutterAndroid 的交互(内附大量Flutter学习资源)

    接着就需要创建 flutter module, Android 项目依赖,创建的方法可以参考官网 Flutter Wiki,虽然是官网提供的方法,但是完全按照这个步骤来,还是会有坑的,这边就慢慢一步步解决坑...原生界面加载Flutter页面 那么如何原生界面显示 Flutter 界面呢,这个就需要通过 FlutterView 来实现了,Flutter 这个类提供了 createView 和 createFragment...("route_flutter")) .commit() } } 这样就把 Flutter 页面加载到原生界面了,会通过传递的路由值在 dart 层进行查找,所以接着就需要编写...PlantformChannel 那么能够在原生界面显示 flutter 页面了,如何互相交互呢,这就需要通过 PlantformChannel 来执行了,PlantformChannel 主要有三种类型...传递的信息,同时在控制台可以看到从原生返回的信息。

    2.3K60

    NA嵌入Flutter页面

    承载flutter容器 Android如何承载flutter页面呢 第一种情况:从Android中弄一个容器,打开一个新的页面,装载一个新的flutter页面。...Flutter要显示的Widget // 返回一个FlutterFragment,该类继承自Fragment,将该Fragment添加到Activity中就可以了。...,固现在已经不使用呢…… NA跳转flutter如何添加参数 NA,这个传递参数只需要在路由后面拼接参数即可。...04.如何处理NA跳转flutter传参 4.1 NA如何传递参数给Flutter? 如果需要在页面跳转时传递参数呢,如何Flutter代码中获取到原生代码中的参数呢?...引入flutter本质 如何理解Android引入flutter页面 Android项目引入Flutter本质上是将Flutter编写的Widget嵌入到Activity中,类似于WebView,容器Activity

    3.6K00

    腾讯云IM Flutter-原生混合开发方案接入实践

    通过阅读本文,你可以了解在您现有的 Android / iOS 原生开发项目中,集成腾讯云IM Flutter 的方法。有的时候,使用Flutter重写您现有的应用程序是不现实的。...当您现有应用需要展示腾讯云IM相关页面时,可加载对应用于承载FlutterActivityAndroid)或ViewController(iOS)。...配置各个Flutter引擎的入口开发完上述三个模块,现在可完成最终对外暴露的main方法,作为Flutter引擎的入口。...Demo代码的逻辑是,使用新的路由,承载Chat和Call的Activity。Chat的Activity,由用户主动进入及退出;Call的Activity,由监听器或主动外呼,自动导航进及返回出。...您可以基于本文档给出的方案,快速在您现有的原生开发 Android/iOS APP 中,使用 Flutter SDK,使用同一套Flutter代码,快速植入 Chat 和 Call 模块能力。

    7.1K50

    Flutter - 混合开发

    二、iOS 集成 通过 Cocoapods ,将 Flutter 模块编译成一个库,再到原生项目中进行引入和使用即可 在 Podfile 中添加两行配置 # 指定我们刚刚创建的 Flutter 模块的路径...请先用 Android Studio 或 VSCode 打开 Flutter模块 项目并运行到iOS设备上,其帮我们对iOS项目进行一些初始化配置。...成功运行就可以关闭 Flutter模块 项目的运行了,接着再用 Xcode 打开原生项目运行即可。...使用 FlutterAppDelegate 使用 FlutterAppDelegate这个不是必要的操作,但是如果你想 Flutter模块 也能使用原生的功能的话,建议使用 原生功能 处理 openURL...如果你使用的是 Android Studio,可以直接选择对应的设备,点击右边的 Flutter Attach 按钮,执行成功就可以跟之前一样按 Cmd + s 进行热重载了。 ?

    1.4K20

    如何Flutter优雅的嵌入现有应用

    所以我们需要一套足够完整的Flutter嵌入原生App的路由解决方案,所以我们自己造了个轮子 thrio ,现已开源,遵循MIT协议。...{ } } 因为Android activity在后台可能会被销毁,所以页面通知实现了一个懒响应的行为,只有当页面呈现之后才会收到该通知,这也符合页面需要刷新的场景。...thrio的模块化能力由一个类提供,ThrioModule,很小巧,主要提供了 Module 的注册链和初始化链,代码可以根据路由url进行文件分级分类。...但 thrio 要解决的是 Flutter原生应用的无缝集成,所以必须将侧滑返回的手势加回来。...容器,则通过 channel 调用 dart 端对应的路由 API 接4步,如果 dart 端对应的路由 API 操作完成回调,如果成功,则执行原生端的路由栈同步,如果失败,则回调入口 API 的result

    2.2K20

    Flutter混合栈路由实践与优化

    本文的目标是阐述 Flutter 实践混合栈路由中遇到的痛点,以及 TRouter 是如何去解决的。最后会对目前的方案进行横向对比,讲述下一步的计划。...Engine 依赖于原生的某个视图组件提供渲染的能力,比如纯 Flutter 应用就只在单独一个 Activity/ViewController 上创建了 Engine 以提供 Flutter 的视图渲染...在混合栈路由上,虽然 Dart 层本身有提供 navigator 等路由方式,但当我们把 Flutter 集成为原生模块或能力时,一定会出现 Native -> Flutter -> Native -...下图所示是 Android 侧单引擎下打开 5 个页面内存增量对比: 可以看出 Android 侧跳转 Flutter 页面的内存消耗已降低到接近原生。...用 Activity/ViewController 承载 Dart 页面的方式,把路由收归原生,维持唯一的单引擎实例。

    2.8K51

    构建属于自己的Flutter混合开发框架

    对于 Flutter 模块及其依赖的原生插件们,我们又该如何以标准的原生工程依赖形式进行组件封装呢?下面重点看一下原生工程是如何进行插件管理的。...如何原生进行交互,可以查看我之前的文章:混合开发简介 完成Dart 层接口封装,接下来再看一下 Android 和 iOS 代码宿主是如何响应 Dart 层的接口调用的。...第一,如何使用 FlutterPluginNetworkPlugin 插件,也就是模块工程功能如何实现; 第二,模块工程的 iOS 构建产物应该如何封装,也就是原生 iOS 工程如何管理 Flutter...模块工程的依赖; 第三,模块工程的 Android 构建产物应该如何封装,也就是原生 Android 工程如何管理 Flutter 模块工程的依赖。...的Hot Reload是如何做到的 7,《Flutter in action》开源 8,Flutter开发之JSON解析 9,Flutter开发之基础Widgets 10,Flutter开发之导航与路由管理

    1.5K10

    Flutter技术与实战(5)

    需要注意的是,在原生代码处理完毕将处理结果返回Flutter 时,我们在 Dart、Android 和 iOS 分别用了三种数据类型:Android返回的是 java.lang.Integer...作为调用发起方的 Flutter如何实现原生视图的接口调用? 如何原生Android 和 iOS)系统实现接口?...那么,Flutter 工程与原生工程该如何组织管理?不同平台的 Flutter 工程打包构建产物该如何抽取封装?封装的产物该如何引入原生工程?原生工程又该如何使用封装Flutter 能力?...这是因为封装的 Flutter 模块一般会有多个页面级 Widget,原生 App 代码则会通过传入路由标识字符串,告诉 Flutter 究竟应该返回何种 Widget。...的 PageA 页面跳转到原生页面时,因为涉及到跨引擎的页面路由,所以我们仍然需要利用方法通道来注册打开原生页面的方法,即 openNativePage, Flutter 容器接收到这个方法调用时,

    15.8K30

    Android 和 iOS 开发人员不一样的 Flutter 基础讲解

    也就是对于原生 Android 和 iOS 而言,整个跨平台 UI 默认都是运行在一个 Activity / ViewController 上面,默认情况下只会有一个 Activity / ViewController..., Flutter、 ReactNative 、Weex 、Ionic 默认情况下都是如此,所以一般情况下框架的路由原生路由是没有直接关系。...举个例子,如下图所示, 在当前 Flutter路由堆栈里有 FlutterA 和 FlutterB 两个页面 Flutter 页面; 这时候打开新的 Activity / ViewController...,启动了原生页面X,可以看到原生页面X 作为新的原生页面加入到原生路由,把 FlutterActivity / FlutterViewController 给挡住,也就是把 FlutterA 和...下载依赖成功,可以直接通过 flutter run 或者 IDE 工具点击运行来启动 Flutter 项目,这个过程会需要原生工程的一些网络同步工作,比如: Android 上的 Gradle 和 aar

    1.5K20

    为什么说Flutter移动开发变得更好?

    如果你是Android开发者,那么可能已经听说过Flutter。 这是一个相对较新,用来开发跨平台原生应用的框架。...示例很基础,但这是分享将原生Android应用移植到Flutter的最好例子。该示例没有任何架构,就是最纯粹的原生调用。 一年前,我在Play Store上架了第一款Android应用。...下面看看我是如何构建的: 该布局由SliverAppBar组成,其中包含电影图像的堆叠布局,渐变,气泡和文本图层。 能够以模块化的方式表达布局使得创建这种相当复杂的布局变得非常简单。...如果用Android实现相同的事情,我必须为电影和演出分别使用不同的Activity。可以想象这维护工作瞬间变得复杂,并且Android对于布局的共享处理方式不太灵活。...那么应该如何进行对比?(免责声明:Flutter版本中还没有实现持久化,原生代码写的也很乱)。

    2K10

    Flutter 专题】49 图解 FlutterAndroid 原生交互

    和尚以上一节 Android 原生集成 Flutter Module 为基础,对于不同的 Channel 进行学习尝试;且和尚通过 View / Fragment / Activity 三种原生加载方式进行测试...; } result.success("Android -> Flutter 接收回调返回值:" + TAG);...; } result.success("Android -> Flutter 接收回调返回值:" + TAG);...和尚理解,MethodChannel 主要是由 Flutter 主动向 Android 原生发起交互请求,和尚理解相对于于原生为被动式交互较多; EventChannel EventChannel 可以由...Android 原生主动向 Flutter 发起交互请求,和尚理解相对于原生为主动式交互,类似于 Android 发送一个广播在 Flutter 端进行接收;其使用方式与 MethodChannel

    2.3K41

    Flutter 在哈啰出行 B 端创新业务的实践

    如何划分模块这可能需要另外一篇文章来说明,简单来说就是业务域的划分。要保持模块的内聚,每个模块的初始化需要独立进行,要做到这点,我们的方案是将所有模块挂载到模块树上,类似文件夹的树形结构。...topic_center 提供的能力: 原生模块间的状态同步 Flutter 模块间的状态同步 Flutter 端按需同步原生状态 三端一致的状态的获取与订阅 API topic_center Flutter...flutter_boost 的优势: Flutter 页面的路由原生页面一样 Flutter 页面的交互手势与原生页面一样 提供页面关闭回传参数的能力 如果不使用 flutter_boost,我们的页面结构可能是这样的...页面栈管理 1.0 的问题 路由 API 过于简陋 比如,项目上需要实现关闭到某个页面的场景,或者删除当前页面之下的某个页面,我们需要在 flutter_boost 上自行扩展,且难于维护,如何跟官方的...相比于 页面模块化 1.0,功能的变迁如下: 模块挂载 1.0 模块初始化 1.0 模块异步初始化 1.0 页面路由注册 2.0 页面路由行为观察 2.0 页面生命周期观察 2.0 页面通知接收 2.0

    70520

    Flutter单引擎和外接纹理内存优化探索之路

    背景 今年九月初,王者人生Android端及iOS端正式接入flutter跨平台方案来提升开发效率。...带着这个问题,我研究了一下flutter的启动流程,也记录了一下过程《flutter启动流程简析》,而这个过程我明白了我们起初的接入方式做不到单引擎,但是如果我们换另外一种方式,可以很巧妙的做到单引擎...fragment生命周期 [vvjslz7vv9.png] 很明显,单我们栈里面出现两个flutter模块的时候,被覆盖的,就是前一个flutter模块会走 onPause onStop 注意,这里并没有走...第二次爬坑,利用Texture 外接纹理。...: 使用外接纹理的方式: image.png 使用flutter原生的Image image.png 目前,插件仅仅实现了Android版本,已经开源了,目前支持webp,gif解析。

    5.6K71

    面试|2021 菜鸟金三银四铜五 Android 被锤历程出炉...

    你是如何实现 Flutter原生通信的? 使用过 Flutter 混合原生开发吗? 使用 Flutter 遇到过哪儿些坑,怎么处理的?...模块如何实现模块之间解耦合的呢? module A 和 module B 之间有需要调用 Api 这块怎么解决的? module A 和 module B 之间如何通讯? 有用到路由或者事件总线吗?...Activity 生命周期。 A Activity 打开 B Activity,假设 A 现在到了 onResume() 跳转会经历哪儿几个生命周期?假如我现在在 B Activity 点击返回呢?...假如我现在使用 Handler 延迟五秒后进行业务处理,那么 Handler 内部是如何实现 5 秒执行我的具体业务操作的呢? Flutter 如何原生交互? Flutter 如何开启一个服务?...原生如何调用 Flutter如何你设计一个项目架构,你会从哪儿几个方面入手考虑,为什么? 架构中有哪儿些内容是可以抽取一个公共的东西,所有的模块都使用?

    93050
    领券