我有 iOS 和 Android 原生项目,现在我正在开发一个可以从两个平台访问的颤振模块。我按照此处的文档将颤振添加到现有应用程序。
我已经使用方法通道在原生组件和颤振组件之间进行通信。现在我想从原生部分的颤振组件中获取一些数据。我正在做的是使用颤振引擎作为二进制信使创建方法通道。
let flutterEngine = (UIApplication.shared.delegate as! AppDelegate).flutterEngine!
let channel = FlutterMethodChannel(name: "my.channel.name"
binaryMessenger: flutterEngine)
channel.invokeMethod("get_value", arguments: nil) { (value) in
guard let string = value as? String else { return }
self.valueLabel.text = "value received : " + string
}
扑腾扑腾
class CommunicationChannel {
static const channel = MethodChannel("my.channel.name");
void startListening() {
print(" startListening........... ");
channel.setMethodCallHandler((MethodCall call) async {
print("channel method " + call.method);
switch (call.method) {
case 'get_value':
return myValue
default:
throw MissingPluginException();
}
});
}
}
main()
功能
void main() {
print(" main() ------------------------. ");
CommunicationChannel channel = CommunicationChannel();
channel.startListening();
runApp(new MyApp());
}
我担心的是,即使我在这里没有提供任何视图,也会在 main 函数中创建一个未使用的小部件。
有没有办法在不创建任何视图/小部件的情况下从本机代码中的颤振中读取值?