[英]Future<String> argument to java
有没有办法通过通道将Future<String>
的参数发送到 Java ? 我有这个代码:
Future<String> returnName(String dbName) async {
return await platform.invokeMethod("getBatteryLevel");
}
我想将参数 dbName 发送到 java。 可能吗? 感谢帮助!
如果可能的话,您可以在官方文档( https://flutter.dev/docs/development/platform-integration/platform-channels )中找到更多详细信息,现在我给您举个例子:
Dart Class
static const platform = const MethodChannel('channel/example');
Future<void> returnName(String dbName) async {
return await platform.invokeMethod("sendDBName", <String, dynamic>{'data': dbName});
}
因此,您发送的 object 的值为 dbName。
Java Class
private static final String CHANNEL = "channel/example";
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
.setMethodCallHandler((call, result) -> {
if (call.method.equals("sendDBName")) {
String dbName = call.argument("data");
}
}
}
在这里,您收到从 Dart 发送的 object。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.