一 # Flutter 如何调用Android和iOS原生代码
主要分为三个步骤: 1 在flutter中调用原生方法 2 在Android中实现被调用的方法 3 在iOS中实现被调用的方法
1 在flutter中调用原生方法
场景,这里你希望调用原生方法告诉你一个bool值,这个值的意义你可以随意定,这里表示的意义是是否是中国用户。
你可以在flutter中设计好要调用的方法名称,这里就叫
isChinese
注意:
在flutter中要调用原生代码需要通过通道传递消息,在flutter端就是MethodChannel。
所以我们这里的做法是,在flutter 端创建一个自己命名的通道:
const platform = const MethodChannel("com.test/name");
这里的名字com.test/name 你可以随便取
这里你肯定会有疑问。我们自助在flutter端的通道,怎样就能告诉Android与iOS端如何调用呢?
问题解答:
先告诉你等下我们还要分别在两端创建与这个通道同名的通道
此时你知道了,我们要在三端分别有一个通道了吧,而且这三个通道是同名的,所以就能连接起来了。
不过这里还是先把flutter端的代码写完,然后我们再去分别设置android和iOS端的代码吧
[](iOS逻辑沐子的个人空间_哔哩哔哩_Bilibili space.bilibili.com/1237846717)
我在哔哩哔哩上的学习视频
在flutter中的代码如下:
-
1 Future isEuropeUser() async {\
-
2 // Native channel
-
3 const platform = const MethodChannel("com.test/name"); //分析1
-
4 bool result = false;
-
5 try {
-
6 result = await platform.invokeMethod("isChinese"); //分析2
-
7 } on PlatformException catch (e) {
-
8 print(e.toString());
-
9 }
-
10 return result;
-
11 }
-
12
分析:
1 创建一个我们自定义的channel 2 用channel发送调用消息到原生端,调用方法是:is chinese
剩下两个方法我就不一一写了,不如在我的哔哩哔哩上的视频观看