从ANDROID回调到FLUTTER

时间:2019-05-16 10:07:27

标签: android flutter

我从扑扑中开始了android活动,

之后,当我们在android活动屏幕上执行一些操作时,需要将操作发送回flutter。

请让我知道针对这种情况的简单且更好的解决方案。

我已经尝试过MethodChannel概念,但不适用于我,如果我的理解是正确的,则在启动android屏幕后会破坏flutter类的内存。

*Flutter Code
*/
MethodChannel platform;
static const platformMethodChannel = const MethodChannel('MyApp.android/bridge');
  Future<Null> doNativeSuff() async {
    String _message;
    platformMethodChannel.setMethodCallHandler(_onMethodCall);
  }

// CallBack
 Future<void> _onMethodCall(MethodCall call) async {
    switch (call.method) {
      case 'action1':
        print("action1 Called");
        break;
      case 'action2':
        print("action2 Called");
        break;
    }
  }
/**
*Flutter code end
*/

/**
* Android code type 1
*/

MethodChannel channel;

//in OnCreate
chennel = new MethodChannel(getFlutterView(), "MyApp.android/bridge");

//inOnclick
channel.invokeMethod("action1", "Clicked");
/**
*
*/

/**
* Android code type 2
*/
//inOnCreate
methodChannel.setMethodCallHandler(this);

//inOnclick
methodChannel.invokeMethod("action1", "Clicked");

//MethodHandler override
 @Override
    public void onMethodCall(MethodCall methodCall, Result result) {
        switch (methodCall.method) {
            case "action1":
                result.success("Clicked");
                break;
            case "action2":
                result.success("Clicked");
                break;
        }

    }  
/**
*
*/

0 个答案:

没有答案