本文已参与「新人创作礼」活动,一起开启掘金创作之路。
这是【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 中的常用组件(含有源码分析、组件的用法及注意事项)以及可能遇到的问题写到稀土掘金博客中,希望自己学习的同时,也可以帮助更多的人。