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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了升级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(),因为DartExecutor本身实现了BinaryMessenger(仅通过转发),但是我认为指定Messenger更为正确。

以上是关于升级flutter后创建方法通道-无法解析方法getFlutterView()的主要内容,如果未能解决你的问题,请参考以下文章

无法解析URL“ https://pub.dartlang.org”。错误(69):无法“发布升级”颤动工具。 5秒钟后重试…(还剩9次尝试)

Flutter:升级 Flutter 和 Channel 后无法再构建应用程序

通过方法通道颤振传递自定义对象

在通道颤动/平台视图上找不到方法创建的实现

方法通道在 Flutter 模块中不起作用

升级后无法在android studio上打开flutter项目