Flutter插件(Plugin)开发 - Android视角,写给即将正在找工作的Android攻城狮
import io.flutter.embedding.engine.plugins.FlutterPlugin
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel
class FlutterPluginExample: FlutterPlugin, MethodChannel.MethodCallHandler {
private lateinit var channel : MethodChannel
override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
// 初始化方法通道,并设置方法调用处理器
channel = MethodChannel(flutterPluginBinding.binaryMessenger, "flutter_plugin_example")
channel.setMethodCallHandler(this)
}
override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
// 根据方法名处理不同的调用
when (call.method) {
"getPlatformVersion" -> {
result.success("Android ${android.os.Build.VERSION.RELEASE}")
}
else -> {
result.notImplemented()
}
}
}
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
// 取消方法通道设置
channel.setMethodCallHandler(null)
}
}
这段代码展示了如何创建一个简单的Flutter插件,它提供了一个名为"flutter\_plugin\_example"的方法通道,并实现了一个名为"getPlatformVersion"的方法,该方法返回当前设备的Android版本号。这是一个基本的插件示例,可以帮助Android开发者理解如何开发Flutter插件。
评论已关闭