我目前正在构建一个插件,以利用Android和iOS上的本机API。
我写了实现MyPlugin
的{{1}}。在我的插件项目中,我有一个示例应用程序。此示例应用程序具有一个生成的类MethodCallHandler
,该类调用静态方法GeneratedPluginRegistrant.class
。所有这些都用作registerWith
中的一个衬里。
我有几个问题。
似乎MainActivity
必须与插件项目的名称匹配。 IE-项目为MyPlugin
,我的插件必须命名为flutter_tools
,否则FlutterToolsPlugin
将中断。 GeneratedPluginRegistrant
是如何生成的?
GeneratedPluginRegistrant
的用途是什么?
我的插件注册后实际上发生了什么?
如果我想使用GeneratedPluginRegistrant
,可以不用MyPlugin
来做到吗?我希望响应诸如GeneratedPluginRegistrant
之类的生命周期方法,并且这种封装似乎使我无法直接在onActivityResult
中与插件进行交互。
我可以在本机端与自己的其他本机插件交互,而不必通过Dart来回切换吗?
答案 0 :(得分:0)
FlutterApplication自动生成GeneratedPluginRegistrant,以注册在Flutter App的pubspec.yaml文件中定义的插件。通过为GeneratedPluginRegistrant#registerWith函数提供诸如 FlutterActivity 之类的PluginRegistry实例,可以启用Flutter插件与Android API之间的交互。 参见@ PluginRegistry Documentation