繁体   English   中英

未来<string> java 的参数</string>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM