这是本人的一些真实经历,为了调用Android界面UI的sdk,耗费将近三天时间,再终于把这个Flutter与Android传值弄明白,网上资料也不全,还需要自己摸索
首先你需要创建一个flutter_plugin项目,然后创建完之后,回在lib目录下生产一个pulgin.dart文件,然后还有一个.Android目录和一个example测试目录
然后在我们生成的目录下定义一个管道,MethodChannel,用来通信的.下面贴上我的代码
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class KycFlutterPlugin {
static KycFlutterPlugin kycFlutterPlugin = new KycFlutterPlugin();
//获取当前类的实例
KycFlutterPlugin getInstaner(){
return kycFlutterPlugin;
}
//这里初始化通道,里面存放一个name,用来和Android进行交互
static const channel = MethodChannel('kyc_flutter_plugin');
//这是我自定义的方法,想要让flutter传递一个map类型的数据
Future<dynamic> setUesr(String name,String id){
return channel.invokeMethod('faceVerifyResult',{"name":name,'cardId':id});
}
}
然后在我们的测试目录下,也就是.example下的lib文件里面,设置一个按钮,按钮点击之后调用我们刚在在这个plugin定义的方法,比如说:
IconButton(
icon: Icon(Icons.tag_faces),
onPressed: () {
//在这里面判断机型是Android 还是ios,
//我们用的Android,所以走Android这个方法
if(Platform.isAndroid){
print("----调用AndroidSdk");
onPlatformViewCreatedAndroid();
}else if(Platform.isIOS

最低0.47元/天 解锁文章
713

被折叠的 条评论
为什么被折叠?



