问题标签 [flutter-method-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 投票
1 回答
561 浏览

c++ - 编写 MethodChannel 桥与 dart:ffi 桥以运行 c/c++ 代码以获取响应之间有什么区别?

在我开始我的问题之前,我想指出它与这个问题不相似。 编写平台特定代码与 dart:ffi 代码之间的区别。在这里,提问者询问实际差异,而我试图了解使用这两种方法可以实现的相同任务的差异。

在平台上运行本机 c/c++ 代码,在平台端获取结果(例如 Kotlin)并通过方法通道将其发送到 dart 与编写dart:ffi接口并直接调用本机 c++ 代码有什么区别。它们基本上将提供相同的代码执行。我看到的唯一区别是 MethodChannel 调用将是异步任务与dart:ffi同步任务。除了异步行为之外,从这两种技术中获取响应是否会有任何差异(主要是性能)。

0 投票
1 回答
616 浏览

android - 在 Flutter 上退出原生 Android 活动需要两次后按

我已经设法在 Flutter 上实现了原生 Android Activity。代码如下所示:

问题是,当我从本机活动中点击后退按钮以转到显示它的屏幕时,应用程序会显示容器,并在 snapshot.hasData 为 false 时返回圆形进度指示器。

我必须再次点击 Back 以关闭此屏幕并进入预期的呈现视图。显然,我在代码中做的不对。我该如何解决这个问题?

0 投票
0 回答
117 浏览

android - Android 项目添加 Flutter 模块抛出 MissingPluginException

我有一个 android 项目,然后我在这个项目中添加了一个颤振模块。android项目的MainActivity是这样的:

在 Flutter 模块中,我有一个按钮,按下这个按钮,启动 android 项目的 SecondActivity。颤振代码如下:

但是,点击Flutter'按钮,抛出MissingPluginException,像这样:

我的颤振 vierson : v1.17.0 ; 发生了什么事,我该如何解决?谢谢你!

0 投票
0 回答
181 浏览

flutter - Flutter 事件通道和方法通道性能

我计划在我的 Flutter 项目中添加本机 twilio SDK 以接收语音呼叫,但我担心性能,因为颤振可以与之通信的本机代码在主线程上运行,我读到它可以导致性能问题。这会是一个问题吗?我应该考虑切换到原生移动开发吗?

0 投票
0 回答
742 浏览

android - 尝试向 Flutter 发送平台消息,但关闭应用后 FlutterJNI 与原生 C++ 分离

我在 android 端使用 pahoo mqtt 并在 Flutter 上实现它以使其在应用程序关闭时运行。但是,客户端仍然连接,并且在我关闭应用程序后仍然从经纪人那里收到消息。但是,当我再次打开应用程序时,似乎无法在消息到达时从 android 端调用方法mBackgroundChannel.invokeMethod("mqttMessageArrive", strMessage)并收到此警告消息Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: com.example.research_cahyo/method_dart. Response ID: 0

关闭应用程序后我也收到此错误

下面是我的 mainactivity.kt

这是 myplugin.kt

谁能解决这个问题,抱歉英语不好

0 投票
2 回答
1598 浏览

image - Flutter:当应用程序在后台时使用路径提供程序

我目前正在尝试在我的 Flutter 应用程序中实现 FCM 和本地通知。我已经成功地为普通通知配置了 FCM 和本地通知,但是我还有一种不同类型的通知,我想用图像显示,当我的应用程序在前台时,通知显示没有错误,但是当我终止时应用程序/将其移至后台尝试使用路径提供程序保存图像时出现异常。

例外:

我假设发生此错误是因为当应用程序不在前台时路径提供程序方法通道已关闭,我能做些什么来解决这个问题吗?或者如果flutter_local_notifications插件不需要位图的文件路径,我可以实现保存图像并以不同的方式获取在后台工作的路径(没有路径提供程序)?(我实际上想要显示的是来自这样一个链接的图像:https ://is1-ssl.mzstatic.com/image/thumb/WNUBiv2P6YSklHn9eA5nlg/1000x1000bb.jpeg )

保存图像:

0 投票
1 回答
2921 浏览

ios - 从 iOS 到 Native 的 Flutter MethodChannel 不起作用

我有一个 Flutter 项目试图在 Flutter 和 iOS Native 之间建立双向通信。到目前为止,它从FlutteriOS都可以完美运行,但反过来却是沉默的。当我从 iOS 调用该方法时,没有任何反应。没有消息,没有错误,什么都没有。

我在iOS上创建MethodChannel ,如下所示:

在Flutter方面就像这样:

Flutter上,我调用这样的方法:

这很好用。在 iOS 中收到呼叫。但在 iOS 端,我调用这样的方法:

Flutter方面什么也没有发生。没有消息,没有错误,没有什么。我尝试了许多变体,创建多个通道(一种方式)、动态通道 id 等等,但它在Flutter上是无声的方面它是沉默的。有任何想法吗?

编辑:我已经从 iOS 端调试了它,它确实有效。我从我的 Dart 代码中得到返回值。但是,当我调试 Dart 代码时,没有遇到断点。如果我尝试修改 Dart 中的某些状态,则没有任何反应...

Edit2:当从 XCode 运行时,它似乎可以工作,使用 runner 项目,但在从 Android Studio 运行 Flutter 项目时却不行。

0 投票
1 回答
169 浏览

flutter - 如何从flutter中的isolate调用平台代码?

我知道这些库flutter_isolateisolate_handler存在支持执行这些操作,但我找不到任何方法来从它们内部调用特定于平台的代码。有人可以展示它是如何完成的任何例子吗?

0 投票
0 回答
314 浏览

java - 如何使用 MethodChannel 将参数从 Java 调用到 Dart?

我正在尝试从我的 Java 本机代码调用 Dart 的参数,我的 Java 代码中有一个方法 -

我将 my 存储args在 my 中HashMap并使用 my 作为参数传递OnMethodCallHandler

如何在我的 Dart 代码中调用它?这是我目前的尝试-

这就是我从代码的 Java 端获取回调的方式,但是这不会int quantity从方法中返回我的 -

这是我的示例 repo 中的侦听器,它打印onReward但不返回我的论点

0 投票
0 回答
291 浏览

ios - 通过 MethodChannel 从本机 iOS 端收到消息后,Flutter 活动未导航

我正在开发需要呈现本机 UI 的颤振应用程序,为了实现这一点,我用来在 iOS 和iOSMethodChannel之间建立连接,我能够将数据从颤振视图传递到本机并导航本机 UI,一旦本机 UI 被关闭,然后发送消息回扑。从本机端收到消息后,我正在努力导航颤振屏幕。flutterNative

让我更详细地解释一下:我创建了一个通道对象,然后从颤振调用本机函数:

中的 iOS 代码didFinishLaunchingWithOptions

self.openSecondPage方法具有导航本机 iOS UI 的代码,并且工作正常。

一旦该 UI 被关闭,结果消息就会通过参数传递给颤振。这个方法在这里处理结果 Future<dynamic> _handleMethod(MethodCall call) async {}

在这种方法中,我将颤振活动推为:

但这不起作用,任何人都可以指导我。

更新:

将数据传递给颤振视图的本机代码:

在颤振方面,我将代码实现为:

一旦本机方法向颤动端发送消息,那么我需要显示其他预览屏幕。