【Flutter 问题系列第 29 篇】MainActivity 无法转换为 FlutterEngine,GeneratedPluginRegistrant.r

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

这是【Flutter 问题系列第 29 篇】,如果觉得有用的话,欢迎关注专栏。

一:问题描述

在使用 Flutter 和 Android 混合开发时,我需要获取到手机目前的电量,在 MainActivity 类重写 FlutterActivity 类的 onCreate 方法时,当时是这样写的(已省去无关代码)

 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   GeneratedPluginRegistrant.registerWith(this);
}
复制代码

在程序启动后就报错了,如下图所示

在这里插入图片描述

意思是出现了不兼容的类型,MainActivity 无法转换为 FlutterEngine 。

二:解决方案

此时的 this 指的是 MainActivity ,而我们需要的是 FlutterEngine ,所以不能直接把 this 当作参数传到方法中,应该实例化一个 FlutterEngine ,然后再把 this 传进去,如下代码所示。

 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   GeneratedPluginRegistrant.registerWith(new FlutterEngine(this));
}
复制代码

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

扫描二维码关注公众号,回复: 13760051 查看本文章

结束语

Google 的 Flutter 越来越火,截止 2021年7月11日 GitHub 标星已达 124K,Flutter 毅然是一种趋势,所以作为前端开发者,没有理由不趁早去学习。

无论你是 Flutter 新手还是已经入门了,不妨先点个关注,后续我会将 Flutter 中的常用组件(含有源码分析、组件的用法及注意事项)以及可能遇到的问题写到稀土掘金博客中,希望自己学习的同时,也可以帮助更多的人。

猜你喜欢

转载自juejin.im/post/7082348918696050701