首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振:调用本机代码生成的隔离插件时的MissingPluginException

颤振:调用本机代码生成的隔离插件时的MissingPluginException
EN

Stack Overflow用户
提问于 2021-10-06 08:55:44
回答 1查看 620关注 0票数 4

我正在构建一个颤振应用程序,当设备连接到另一个蓝牙设备时,它将能够执行一些操作。这个应用程序应该可以在Android和iOS上运行,但是为了简单起见,我将在这篇文章中关注Android。此外,无论应用程序是在前台,还是在后台,还是被杀死,这都是必须的。

下面是应用程序的体系结构:

  1. 我有一个Android本机代码,它通过BroadcastReceiver注册蓝牙事件。
  2. 我按照本教程设置了代码和颤振代码https://medium.com/@chetan882777/initiating-calls-to-dart-from-the-native-side-in-the-background-with-flutter-plugin-7d46aed32c47之间的通信。
  3. 当Android BroadcastReceiver被蓝牙事件触发时,信息会被发送到颤振代码中(即使应用程序处于后台或被杀死)。创建了一个颤振隔离器来处理颤振代码。

一切都很好。调用颤振代码,我可以使用print(data)记录由Android代码提供的数据。

当我想要调用任何颤振插件(比如sqflitepackage_info_plus、.)时,事情变得越来越棘手了。每次我都会犯这样的错误:

错误:flutter/lib/ui/ui_dart_state.cc(199)未处理的异常:MissingPluginException(在yyy通道上没有为方法xxx找到实现)

我知道,产生的隔离无法在本机运行颤振插件。有一些帖子(找不到sendPlatformMessage‘(4个参数)“错误”https://github.com/flutter/flutter/issues/13937)解释了如何通过使用解决方案或像隔离这样的插件来创建可以运行颤振插件的隔离。但是,我不能用这个包创建隔离,因为隔离是从Android代码创建的。

你们谁能告诉我我怎么做到的吗?有没有一种方法可以使用由本机代码创建的隔离器中的颤振插件?

先谢谢你

EN

回答 1

Stack Overflow用户

发布于 2021-10-18 13:11:37

听起来,您创建颤振隔离的方式可能与您的目标不兼容。有一些解决方案可以与本地的Android/iOS项目集成,比如助推 (免责声明:我还没有尝试过,也不确定是否好;您可能还会发现许多其他的替代方案,这只是一个例子)。您可以使用它来创建颤振环境。由于上面的解决方案允许一些Android代码打开一个新的普通颤振页面,并且该页面中的颤振代码可以做任何事情(当然包括调用本机--否则,像flutter_boost这样的东西实际上是无用的),所以这应该是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69462654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档