Comment transmettriez-vous les informations de Flutter au code Android/Native si nécessaire pour interagir avec un composant API/matériel spécifique?
Y a-t-il des canaux d'événements qui peuvent envoyer des informations dans l'autre sens ou quelque chose de similaire à un rappel?
Il s'agit d'une implémentation simple présentant:
le code est basé sur l'exemple de: https://flutter.io/platform-channels/#codec
1.Passer la valeur de chaîne "texte":
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.Retourner la réponse "niveau batterie" après RandomFunction ();
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();
}
}
J'espère que cela t'aides!
Oui, flutter a une classe EventChannel
qui est exactement ce que vous recherchez.
Ici est un exemple qui montre comment MethodChannel
et EventChannel
peuvent être implémentés. Et this l'article moyen montre comment un EventChannel
peut être implémenté en flutter.
J'espère que cela a aidé!
Objectif C
call.arguments [@ "paramètre"]