当前位置: 首页 > 知识库问答 >
问题:

将颤振集成到本机主机应用程序[Add2App]时,从颤振完成颤振活动

张晔
2023-03-14

将颤振集成到主机应用程序(docs)时,有几种方法可以实现,其中一种(最简单的)方法是通过颤振活动类在新活动中打开颤振。这样地:

// Java
hostActivity.startActivity(                
  FlutterActivity.withCachedEngine("my_engine_id").build(context)
);

传统上,对于Flutter侧的Android风格窗口,我们创建带有后退按钮的AppBar。

此AppBar后退按钮和Android系统后退按钮的行为必须相同:按下后退按钮时,前台活动必须关闭(完成)。

目前系统后退按钮确实关闭了FlutterActive,但如何从flutters AppBar后退按钮模拟这种行为?

// Dart - Flutter side
...
child: AppBar(
  leading: IconButton(
      icon: Icon(Icons.arrow_back),
      onPressed: () {
          // WHAT MUST BE HERE?
      }),
...

在Flutter端和主机之间建立PS Platform通道-我可以从任何端调用任何代码

共有2个答案

胡鸿远
2023-03-14
...
leading: BackButton(
          onPressed: () => {
            if (Navigator.canPop(context))
              {Navigator.pop(context)}
            else
              {SystemNavigator.pop()}
          },
        )
...
郎意
2023-03-14

找到的解决方案:

SystemChannels.platform.invokeMethod<void>('SystemNavigator.pop');

删除最顶层的Flutter实例,呈现它之前的内容。

在Android上,从堆栈中删除此活动并返回到上一个活动。

此处的文档:api参考

 类似资料:
  • 我可以使用“startAfter”和“limit”进行分页,但它有错误。 例如,在Firestore DB中,我有7条记录: 当页面大小为5时,第一页就可以了,因为我使用了: 它给了我1-5项。 当它加载第二页时,我使用了: 问题是第二页结果只有item7,item6消失了。“开始”也有同样的问题。 真希望它有“抵消”功能,有人有解决办法吗?

  • Xcode的输出:在文件中包含从 /Users/dani/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.0.3/ios/Classes/FLTURLLauncherPlugin.m: 7: /Users/dani/development/flutter/.pub-cache/hosted/pub.dart

  • 我正试图从Flatter网站上消化以下信息。 Flutter如何在Android上运行我的代码? 引擎的C和C代码是用Android的NDK编译的。Dart代码(SDK和您的)是提前(AOT)编译到本机、ARM和x86库中的。这些库包含在一个“runner”Android项目中,整个项目都内置在一个APK中。启动时,应用程序将加载颤振库。任何呈现、输入或事件处理等都被委托给编译的flatter和应

  • 当我试图添加google_sign_in时,flutter_authcloud_firestore它给我带来了一个错误:” [✓] 颤振(通道稳定,v1.5.4-hotfix.2,Linux上,locale en_US.UTF-8)•颤振版本1.5。4-hotfix。2 at/home/ramu/Downloads/tools/颤振•框架版本7a4c33425d(4周前),2019-04-29 1

  • 我想问一下IOS的实施情况 当前场景:基本上,我已经在android平台上开发了该应用程序,现在我想将其转换为IOS平台。由于这是我的第一个应用程序,我真的需要一些有经验的声音来解决我面临的一些问题。 问题: 1-是否有任何简单的方法来检测当前使用的Widget是Android/IOS平台?我们如何才能确定特定的小部件是Android平台的,并且在IOS平台上不工作,反之亦然。 2 -如果我们以某

  • 目前我正在尝试颤振网页,我需要在颤振主频道工作。但是,后来我需要继续我的其他项目。在他们身上,我正在研究颤振稳定通道。 但是,每当我使用命令“flutter channel stable”或“fluter channel master”切换我的flutter通道时,它每次都会重新下载sdk和其他工具。 目前,我已经下载了稳定的颤振sdk和稳定的dart sdk。 我已将它们移动到“FlutterS