gpt4 book ai didi

android - 如何将消息从 Flutter 传递到 Native?

转载 作者:IT老高 更新时间:2023-10-28 12:29:14 25 4
gpt4 key购买 nike

如果需要与特定的 API/硬件组件交互,您将如何将信息从 Flutter 传递回 Android/Native 代码?

是否有任何事件 channel 可以以其他方式或类似于回调的方式发送信息?

  1. platform_channel文档指出“方法调用也可以反向发送,平台充当在 Dart 中实现的方法的客户端。这方面的一个具体例子是 quick_actions plugin。”在这种情况下,我看不到原生端如何接收来自 Flutter 的消息。
  2. 它看起来像 BasicMessageChannel的 send() 方法可用于将“指定消息发送到此 channel 上的平台插件”。谁能提供一个简单的实现示例?

最佳答案

这是一个简单的实现展示:

  1. 将字符串值从 Flutter 传递到 Android 代码
  2. 从 Android 代码中获取响应以进行 flutter

代码基于以下示例:https://flutter.io/platform-channels/#codec

1.传递字符串值“text”:

String text = "whatever";

Future<Null> _getBatteryLevel(text) async {
String batteryLevel;
try {
final String result = await platform.invokeMethod('getBatteryLevel',{"text":text});
batteryLevel = 'Battery level at $result % .';
} on PlatformException catch (e) {
batteryLevel = "Failed to get battery level: '${e.message}'.";
}

setState(() {
_batteryLevel = batteryLevel;
});

}

2. RandomFunction() 后返回响应“batterylevel”;

 public void onMethodCall(MethodCall call, MethodChannel.Result result) {
if (call.method.equals("getBatteryLevel")) {

text = call.argument("text");
String batteryLevel = RandomFunction(text);

if (batteryLevel != null) {
result.success(batteryLevel);
} else {
result.error("UNAVAILABLE", "Battery level not available.", null);
}
} else {
result.notImplemented();
}
}

希望这会有所帮助!

关于android - 如何将消息从 Flutter 传递到 Native?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49099408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com