问题标签 [flutter-platform-channel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
836 浏览

android - 将 Flutter 集成到原生宿主应用时从 Flutter 完成 FlutterActivity [Add2App]

将 Flutter 集成到主机应用程序(文档)时,有几种方法可以做到这一点,其中一种(最简单的)是通过FlutterActivity类在新的 Activity 中打开 Flutter。像这样:

传统上,对于 Flutter 端的 Android 样式窗口,我们使用返回按钮创建 AppBar。

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

目前系统后退按钮确实关闭了FlutterActivity,但是如何从颤动的 AppBar后退按钮中模拟这种行为?

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

0 投票
2 回答
2105 浏览

android - Flutter-使用 Android XML 作为 Widget

是否可以在 Flutter 中使用 Android XML 作为小部件?我想使用 mapbox,但 ios 或 android 中不存在某些方法。我想在颤振中使用 android 和 ios 视图并将所有方法用作本机。我该怎么做?

0 投票
1 回答
1107 浏览

flutter - Flutter:如何等待android平台通道功能完成并返回结果

使用 AWS 开发工具包在 Android 上创建用于文件上传的平台通道。现在我想在后台等待上传完成并返回结果的状态。

0 投票
0 回答
1094 浏览

flutter - 通过平台通道用于 Dart/Flutter 的 SignalR 客户端

我正在构建颤振移动应用程序。假设连接到 .net 框架 SignalR 服务器,如您所知,pub.dev 上没有这样的客户端包,那里唯一可用的包需要 .net 核心版本,这在我的服务器中不可用。(https://pub.dev/packages/signalr_clienthttps://pub.dev/packages/signalr_core)。

现在,一个建议的解决方案是使用颤振平台通道,这意味着我可以在原生端为 android 和 iOS 实现 Signal R 集成,然后通过平台通道发送/接收事件。

另一个建议是构建我自己的客户端,我尝试过,但由于缺乏技术参考和 signalR 协议的复杂性,这是一场噩梦。

我的问题是,将平台通道用于重大事件流(例如套接字连接)是否有风险?我的应用程序中的几乎每个屏幕。取决于套接字连接,据我所知,平台通道应仅用于轻量级用途。

我感谢任何有关此或任何建议的意见。

0 投票
0 回答
373 浏览

flutter - Flutter - 将资产文件加载到外部 Flutter 插件中

我正在开发一个带有原生平台视图的 Flutter 插件。我的 PlatformView 需要一个依赖于项目的文件。我想将示例项目中的文件路径传递给我的库项目(本机 Android/iOS 代码)。简而言之,我如何从示例/测试项目访问外部库中的项目资产。

我正在考虑更改 android gradle 中的 src 目录,但我很困惑如何将 scrc 目录设置为示例项目。

0 投票
0 回答
297 浏览

android - 来自flutter的invokeMethod上的MissingPluginException firebase_auth

为什么调用android原生代码时缺少插件firebase_auth(版本:“0.15.5+3”)?我总是做软件包升级。一切似乎都很好并且是最新的。此错误不会影响我的应用程序,但在日志输出中看到此错误非常难看。firebase_auth 是 Google 的产品,所以我希望它可以完美运行而不会出现错误。

安卓工作室截图

颤振医生:

Firebase 版本:

有错误的日志输出

谢谢

0 投票
1 回答
3069 浏览

flutter - 来自原生 android 的 Channel Invokemethod 不调用颤振方法

基本上我正在使用平台通道在本机 android(kotlin) 中调用支付 sdk。SDK 初始化成功。付款交易后,我将在 kotlin 文件中收到付款状态,该文件实际上扩展了 sdk 类文件(不是活动)。从这个回调方法中,我需要将状态传递给颤振飞镖代码。一切都成功运行,没有任何错误,但在传递支付状态时不会调用颤振方法。

颤振飞镖代码。

0 投票
5 回答
2977 浏览

flutter - 在 Flutter 应用程序中读取之前存储在本机应用程序中的共享首选项

我有以下问题:现在 PlayStore 中有一个应用程序是用本机代码(iOS 和 Android)编写的,我正计划迁移到颤振。我的目标是用户不会注意到引擎盖下的变化,但可以像以前一样继续使用该应用程序。为此,我还需要迁移共享首选项。然而,这是相当困难的。在本机 Android 应用程序中,我存储了相关的共享首选项,如下所示:

这导致在此路径上创建一个文件:

包含以下内容:

如果我在 Flutter 中使用 shared_prefences 通过执行以下操作来获取此值:

它返回 null 因为它正在寻找

/data/data/patavinus.patavinus/shared_prefs/FlutterSharedPreferences.xml这是在 Flutter 中使用 shared_preferences 存储共享首选项时写入的文件。因为共享首选项是在本机应用程序上下文中编写的,所以该文件显然不存在。

有什么方法可以告诉 Flutter/data/data/patavinus.patavinus/shared_prefs/storage.xml无需使用平台通道进行查找?

我知道这是如何以相反的方式工作的,就像这里提到的那样:How to access flutter Shared preferences on the android end (using java)。这种方式很简单,因为在 Android 中你可以选择在 Flutter 的前缀前面加上前缀。但是,在 Flutter 中你不能。

我也知道这个插件:https ://pub.dev/packages/native_shared_preferences但是,我不敢相信第三方插件是推荐的方式。此外,我将相关的共享首选项分布在多个资源文件中。在这个插件中,你只能设置一个(通过指定字符串 resource flutter_shared_pref_name)。

0 投票
1 回答
2082 浏览

flutter - MissingPluginException(未找到对通道 plugins.flutter.io/connectivity 进行方法检查的实现

我正在使用这个连接插件来检查互联网连接状态。它适用于颤振飞镖代码,但是当我从本机 android kotlin 代码调用颤振飞镖代码时,会发生此缺失插件异常。所以对我来说,这个错误只有在使用平台通道从本机 android kotlin 代码调用颤振代码时才会发生。

此外,从 mainactivity.kt 文件调用 GeneratedPluginRegistrant.java 文件,但在该文件中没有用于连接和许多其他插件的注册代码。我不明白为什么它不会自动生成?

任何建议都会非常有帮助。提前致谢。

0 投票
0 回答
105 浏览

android - flutter<->android 通信开销

我正在将现有的 Android 项目改编为 Flutter,我想获得一些关于flutter<->android 通信性能的建议。我们通过相机实时进行图像处理,因此性能至关重要。

我知道我会将一些功能保留在本机端,因为没有插件可以做到。但是,我还有很多其他小任务需要这些功能的信息,并且可以很容易地在 dart 中构建。

我想了解使用调用方法对应用程序整体性能的信息共享有多大影响。我想了解我是否最好在本机端简单地执行这些操作并避免在颤振和 android 之间传输大量信息。

我尝试通过简单地将 invokeMethod 包装在以下之间来测量性能,但我不确定这是否是评估它的最佳方式。

假设我需要每秒发送一个 10 个浮点数的 ArrayList 30 次。 衡量其计算成本的最佳方法是什么?使用 eventChannel 而不是方法会更好吗?如果您可以为我提供一些在执行调用方法时“幕后”发生的事情的链接,我也会很感激!

谢谢!