升级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