LoginSignup
0
0

More than 1 year has passed since last update.

FlutterのMethodChannelで複数パラメータ使う

Posted at

公式ドキュメント

Flutter -> host

Flutter

  const channel = MethodChannel('channnelName');
  final result =
      await channel.invokeMethod('methodName', <String, dynamic>{
    'param1': foo,
    'param2': bar,
  });

Android

methodChannel.setMethodCallHandler { call, result ->
    when (call.method) {
        "methodName" -> {
            val param1 = call.argument<Int>("param1")
            val param2 = call.argument<Int>("param2")
            result(param1 * param2)
        }
    }
}

iOS


        methodChannel?.setMethodCallHandler({(call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
            switch call.method {
            case "methodName":
                if let args = call.arguments as? Dictionary<String, Any>,
                    let param1 = args["param1"] as? Int,
                    let param2 = args["param2"] as? Int {
                    result(param1 * param2)
                } else {
                    result(FlutterError.init(code: "bad args", message: nil, details: nil))
                }
                break
            default:
                break
            }
        })

host -> Flutter

Android

            val params = hashMapOf(
                Pair("param1", 1),
                Pair("param2", 2),
            )
            methodChannel.invokeMethod("methodName", params)

iOS

        var params = [String: Any]()
        params["param1"] = 1
        params["param2"] = 2
        methodChannel.invokeMethod("methodName", arguments: params)

Flutter

    methodChannel.setMethodCallHandler((call) {
      switch (call.method) {
        case "loadStart":
          int param1 = call.arguments["param1"];
          int param2 = call.arguments["param2"];
          print(param1 * param2);
          break;
      }
      return Future.value('complete');
    });
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0