dart调用android方法,Flutter - 原生Android代码调用Dart方法

今日,有时间做Flutter测试用例,发现在MethodChannel中存在invokeMethod的方法,如:

MethodChannel.invokeMethod(methodName, argument)

原生端完整示例:

const val CONNECTION_CHANNEL = "com.demo.flutter.connection"

val methodChannel = MethodChannel(flutterView, CONNECTION_CHANNEL)

methodChannel.setMethodCallHandler { methodCall, result ->

when (methodCall.method) {

"activityFinish" -> {

goBack() //关闭当前页面

result.success(null) //标识调用成功

}

"showToastMessage" -> showShortToast(methodCall.argument("message"))

}

}

Handler().postDelayed({

methodChannel.invokeMethod("aaa", "c") //调用Flutter方代码

}, 5000)

Flutter端示例:

static const _platform = const MethodChannel("com.whitehorse.flutter.connection");

_AboutPageState() {

_platform.setMethodCallHandler((handler) {

switch (handler.method) {

case "aaa":

_platform.invokeMethod("showToastMessage", {"message": "您调用了dart里的方法"});

break;

}

});

}

void _goBack() {

// _platform.invokeMethod("activityFinish");

}

先就做这样一个简单的记录,如果有兴趣还不是很明白的朋友可以在简书上留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值