import 'package:flutter/services.dart';
var channel = MethodChannel('com.example.networktest1/setPermissions');
class setPermissions {
/*
* 安卓方法调用
* MethodChannel
* 在方法通道上调用方法invokeMethod
* methodName 方法名称
* params 发送给原生的参数
* return数据 原生发给Flutter的参数
*/
static Future<Map> invokeNativeMethod(String methodName,
[Map? params]) async {
var res;
try {
if (params == null) {
res = await channel.invokeMethod('$methodName');
} else {
res = await channel.invokeMethod('$methodName', params);
}
} catch (e) {
res = {'Failed': e.toString()};
}
return {'result': res};
}
/*
*
* MethodChannel
* 接收methodHandler
* methodName 方法名称
* params 发送给原生的参数
* return数据 原生发给Flutter的参数
*/
static void methodHandlerListener(
Future<dynamic> Function(MethodCall call)? handler) {
channel.setMethodCallHandler(handler);
}
}
//调用
await setPermissions.invokeNativeMethod('getInstalledApps', {'path':savePath,'packageName': 'com.example.networktest1'});
Flutter 安卓原生通信封装
发布于 2024-10-21 104 次阅读
Comments NOTHING