美文网首页
Flutter调用Android原生和遇到问题

Flutter调用Android原生和遇到问题

作者: 星邪Ara | 来源:发表于2021-03-26 18:22 被阅读0次

直接上代码吧

Android端

public class MainActivity extends FlutterActivity {

    @Override
    public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
        flutterEngine.getPlugins().add(new TestPlugin());
        super.configureFlutterEngine(flutterEngine);
    }
}
public class TestPlugin implements FlutterPlugin, MethodChannel.MethodCallHandler {
    /*** 两端交互标识 */
    private final static String channelName = "channel_test";

    @Override
    public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
        //主要通过MethodChannel来跟Flutter交互
        MethodChannel channel = new MethodChannel(binding.getBinaryMessenger(), channelName);
        channel.setMethodCallHandler(this);
    }

    @Override
    public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {

    }

    @Override
    public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {
        System.out.println("Flutter 调用方法:" + methodCall);
    }
}

Flutter端

String _channelName = "channel_test";
static const MethodChannel _methodChannel = MethodChannel(_channelName);
 await _methodChannel.invokeMethod("test", "ok");

问题

Flutter调用Android调不通,各种查资料也没找到,最后给其他人讲解的时候突如其来灵感,原来是我在添加插件的时候,把两个插件_channelName都用了同一个导致的,我一直在调试的是第一个插件,结果他被第二个插件覆盖了,保证插件_channelName唯一就可以了,醉了,醉了,醉了。

记录下

相关文章

网友评论

      本文标题:Flutter调用Android原生和遇到问题

      本文链接:https://www.haomeiwen.com/subject/kqhshltx.html