这主要是由于FlutterActivity的变化引起的,在旧版本中FlutterActivity使用的是io.flutter.app.FlutterActivity,此类中的FlutterView是实现了BinaryMessenger的:
public class FlutterView extends SurfaceView implements BinaryMessenger, TextureRegistry {
因此可以用来实例化MethodChannel:
1)旧的方式:
public class MyMethodChannel implements MethodChannel.MethodCallHandler {
private static final String CHANNEL_NAME = "org.wen.icude/my";
private Context mContext;
private MyMethodChannel(FlutterActivity flutterActivity) {
mContext = flutterActivity;
new MethodChannel(flutterActivity.getFlutterView(), CHANNEL_NAME).setMethodCallHandler(this

本文记录了Flutter新旧版本中访问Native的注册方式变化。旧版本通过FlutterActivity的FlutterView实现BinaryMessenger,而新版本使用FlutterEngine的DartExecutor。旧版注册MethodChannel的方式不再适用,新版需在configureFlutterEngine中注册。
最低0.47元/天 解锁文章
3545

被折叠的 条评论
为什么被折叠?



