我正在开发Flutter插件,我想从我的dart
文件Native Android传递一个DateTime
参数。
实现很简单:
** dart **
Future<bool?> getDate(DateTime localTime) async {
return _dateChannel.invokeMethod<bool>('my_method_channel',
{'localTime': localTime});
}
Java
if (methodCall.method.equals("my_method_channel")) {
Date localTime = methodCall.argument("localTime");
System.out.println(
"TEST | Estimated localTime | " + localTime);
result.success(true);
}
但我得到以下错误
[错误:flutter/runtime/dart_vm_initializer.cc(41)]无法处理的异常:无效参数:“DateTime”的示例
注意这是我的实现的简化。我知道我可以在本地获得localTIme
,但这不是我想要的。
说明目前的情况以及如何解决。
1条答案
按热度按时间b1zrtrql1#
平台通道不支持日期/日期时间数据类型。您应该将参数作为String类型传递,然后在Java代码中解析它。
https://docs.flutter.dev/platform-integration/platform-channels?tab=type-mappings-java-tab#codec