【发布时间】:2021-10-26 07:10:29
【问题描述】:
我有两个 Android 特定的 Flutter 插件。它们适用于两个自定义设备,以使用不同平台特定的 SDK 访问相同的硬件。
我已经成功地实现了这两个 Flutter 插件。我想在 Flutter 应用程序中使用这些,并使用基于设备的插件。
我创建了一个通用抽象类来公开相同的 API,但颤振插件类具有所有不允许实现通用接口的静态方法。
我们如何从插件中公开一个通用的飞镖实现并互换使用它。
举个例子,假设我们有这个抽象类作为公共接口,
abstract class Pluggable{
void plug();
}
Flutter create 生成的插件类是,
import 'dart:async';
import 'package:flutter/services.dart';
class MyPlugin {
static const MethodChannel _channel = MethodChannel('my_plugin');
static Future<String?> get platformVersion async {
final String? version = await _channel.invokeMethod('getPlatformVersion');
return version;
}
static Future<void> plug() async {
await _channel
.invokeMethod('plug');
}
}
Flutter 插件的静态方法不可被覆盖的方式。
【问题讨论】:
标签: flutter dart flutter-dependencies