升级flutter后创建方法通道-无法解析方法getFlutterView()

我在flutter应用程序中使用本机android方法并使用说明使用的文档

MethodChannel(flutterView, CHANNEL).setMethodCallHandler...

但是升级颤振后,该MethodChannel功能不再需要,flutterView并且flutterView不再存在。

can not resolve method getFlutterView()

我认为应该有一个用于创建频道的新教程

相反,它需要一些BinaryMessenger我不知道该给些什么。

这是旧的代码,不再起作用:

import io.flutter.app.FlutterActivity;

import io.flutter.plugin.common.MethodCall;

import io.flutter.plugin.common.MethodChannel;

import io.flutter.plugin.common.MethodChannel.MethodCallHandler;

import io.flutter.plugin.common.MethodChannel.Result;

public class MainActivity extends FlutterActivity {

private static final String CHANNEL = "samples.flutter.dev/battery";

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

GeneratedPluginRegistrant.registerWith(this);

new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(

new MethodCallHandler() {

@Override

public void onMethodCall(MethodCall call, Result result) {

// Note: this method is invoked on the main thread.

// TODO

}

});

}

回答:

替换getFlutterView()getFlutterEngine().getDartExecutor().getBinaryMessenger()

实际上,您实际上不需要.getBinaryMessenger()as

DartExecutor实现BinaryMessenger本身(仅通过转发即可),但是我认为指定Messenger更为正确。

以上是 升级flutter后创建方法通道-无法解析方法getFlutterView() 的全部内容, 来源链接: utcz.com/qa/435303.html

回到顶部