记录:flutter 跳转原生页面

由于项目之前是flutter开发的,现在需要用原生开发新的板块,牵扯到从flutter跳转到新版块,所以学习了下,记录起来。

1.在要跳转到原生界面的flutter页面中,加入  

// 创建一个给native的channel (类似iOS的通知)

const nativeChannel = const MethodChannel('flutter_native');

然后再点击跳转的按钮事件中

_iosGetMap() async {

    debugPrint('-------------进入前台跳转成功跳转成功-----------------  ');

    //invokeMethod:两个参数Method:方法名(两端要统一),arguments:此方法名下需要传的参数

    await nativeChannel.invokeMethod('pushSquarePage');

  }

2.在iOS的AppDelegate中

FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController;

     FlutterMethodChannel *Wchannel =

    [FlutterMethodChannel methodChannelWithName:@"flutter_native"

                                binaryMessenger:controller.binaryMessenger];

    [WchannelsetMethodCallHandler:^(FlutterMethodCall * _Nonnull call, FlutterResult  _Nonnull result) {

        NSLog(@"---->call.method=%@ \n call.arguments = %@", call.method, call.arguments);

        if([@"pushSquarePage"isEqualToString:call.method]) {

            //这里写跳转到某个页面的方法

        }

    }];

安卓的跳转没有写,也是差不多的,flutter那边可以共用,只是在自己原生代码写的不一样而已,只要名字确定没问题。

你可能感兴趣的:(记录:flutter 跳转原生页面)