如果需要与特定的 API/硬件组件交互,您将如何将信息从 Flutter 传递回 Android/Native 代码?
是否有任何事件 channel 可以以其他方式或类似于回调的方式发送信息?
最佳答案
这是一个简单的实现展示:
代码基于以下示例: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();
}
}
希望这会有所帮助!
https://stackoverflow.com/questions/49099408/