Day23 Plugin 从零开始到上架 - ActivityAware 介绍

ActivityAware

如果插件需要与UI 进行互动,例如请求权限或更改Android UI ,那麽您就需要一些附加步骤来构建您的插件。您必须实现 ActivityAware,Flutter 提供了 ActivityAware 用於 Activity 的生命周期管理和获取

public class MyPlugin implements FlutterPlugin, ActivityAware {
  //...normal plugin behavior is hidden...

  @Override
  public void onAttachedToActivity(ActivityPluginBinding activityPluginBinding) {
    // TODO: your plugin is now attached to an Activity
  }

  @Override
  public void onDetachedFromActivityForConfigChanges() {
    // TODO: the Activity your plugin was attached to was
    // destroyed to change configuration.
    // This call will be followed by onReattachedToActivityForConfigChanges().
  }

  @Override
  public void onReattachedToActivityForConfigChanges(ActivityPluginBinding activityPluginBinding) {
    // TODO: your plugin is now attached to a new Activity
    // after a configuration change.
  }

  @Override
  public void onDetachedFromActivity() {
    // TODO: your plugin is no longer associated with an Activity.
    // Clean up references.
  }
}

onAttachedToEngineonDetachedFromEngineFlutterPlugin的介面方法,是flutter新的载入Plugin 的方式,onAttachedToActivityonDetachedFromActivityActivityAware的介面方法,主要是用於获取当前flutter 页面所处的Activity.

我们可以将Plugin 设计将MethodHandleronAttachedToEngine 方法中被初始化和构建,在 onDetachedFromEngine 方法中释放;同时 Activity 相关的四个实现方法也提供了相应的操作逻辑


<<:  [day24]Vue实作-交易建立页面_完成版

>>:  Day23 URLSession 03 - PUT / PATCH

【Side Project】 一切就绪,准备开工

选择语言与IDE 这边就直接决定使用Visual Studio 作为我们开发的IDE, 并用 **A...

# Day 22 Heterogeneous Memory Management (HMM) (二)

今天继续来看 HMM 的後续! 文件 原文文件:Heterogeneous Memory Manag...

[Python 爬虫这样学,一定是大拇指拉!] DAY09 - TCP / UDP

本篇将简单介绍 TCP 与 UDP,藉由介绍两者的差异,来解释为何 TCP 为什麽会比较耗时间,然而...

1.1 Design system - 为什麽要做?

职场好榜样CL大教我的 3 件事 客户出言不逊,可能有他的理由,比如说:疫情影响损失惨重,心情受影...

[Lesson11] SQLite

activity_main: 全以LinearLayou进行排版 <?xml version=...