我从扑扑中开始了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;
}
}
/**
*
*/