Package io.flutter.plugin.common

## Interface PluginRegistry

- All Known Implementing Classes:
    `FlutterActivity`, `FlutterActivityDelegate`, `FlutterFragmentActivity`, `FlutterPluginRegistry`, `ShimPluginRegistry`

      public interface PluginRegistry

  Container class for Android API listeners used by `ActivityPluginBinding`.

  This class also contains deprecated v1 embedding APIs used for plugin registration.

  In v1 Android applications, an auto-generated and auto-updated plugin registrant class (GeneratedPluginRegistrant) makes use of a `PluginRegistry` to register contributions from each plugin mentioned in the application's pubspec file. The generated registrant class is, again by default, called from the application's main `Activity`, which defaults to an instance of `FlutterActivity`, itself a `PluginRegistry`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `PluginRegistry.ActivityResultListener` | Delegate interface for handling activity results on behalf of the main `Activity`.
    `static interface` | `PluginRegistry.NewIntentListener` | Delegate interface for handling new intents on behalf of the main `Activity`.
    `static interface` | `PluginRegistry.PluginRegistrantCallback` | Deprecated. See https://flutter.dev/go/android-project-migration for migration details.
    `static interface` | `PluginRegistry.Registrar` | Deprecated. This registrar is for Flutter's v1 embedding.
    `static interface` | `PluginRegistry.RequestPermissionsResultListener` | Delegate interface for handling result of permissions requests on behalf of the main `Activity`.
    `static interface` | `PluginRegistry.UserLeaveHintListener` | Delegate interface for handling user leave hints on behalf of the main `Activity`.
    `static interface` | `PluginRegistry.ViewDestroyListener` | Deprecated. See https://flutter.dev/go/android-project-migration for migration details.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `hasPlugin​(String pluginKey)` | Deprecated. See https://flutter.dev/go/android-project-migration for migration details.
    `PluginRegistry.Registrar` | `registrarFor​(String pluginKey)` | Deprecated. See https://flutter.dev/go/android-project-migration for migration details.
    `<T> T` | `valuePublishedByPlugin​(String pluginKey)` | Deprecated. See https://flutter.dev/go/android-project-migration for migration details.

- - ### Method Detail

    - #### registrarFor

          @Deprecated
          @NonNull
          PluginRegistry.Registrar registrarFor​(@NonNull
                                                String pluginKey)

      Deprecated.
      See https://flutter.dev/go/android-project-migration for migration details.
      Returns a `PluginRegistry.Registrar` for receiving the registrations pertaining to the specified plugin.
      Parameters:
        `pluginKey` - a unique String identifying the plugin; typically the fully qualified name of the plugin's main class.
      Returns:
        A `PluginRegistry.Registrar` for receiving the registrations pertianing to the specified plugin.

    - #### hasPlugin

          @Deprecated
          boolean hasPlugin​(@NonNull
                            String pluginKey)

      Deprecated.
      See https://flutter.dev/go/android-project-migration for migration details.
      Returns whether the specified plugin is known to this registry.
      Parameters:
        `pluginKey` - a unique String identifying the plugin; typically the fully qualified name of the plugin's main class.
      Returns:
        true if this registry has handed out a registrar for the specified plugin.

    - #### valuePublishedByPlugin

          @Deprecated
          @Nullable
          <T> T valuePublishedByPlugin​(@NonNull
                                       String pluginKey)

      Deprecated.
      See https://flutter.dev/go/android-project-migration for migration details.
      Returns the value published by the specified plugin, if any.

      Plugins may publish a single value, such as an instance of the plugin's main class, for situations where external control or interaction is needed. Clients are expected to know the value's type.

      Type Parameters:
        `T` - The type of the value.
      Parameters:
        `pluginKey` - a unique String identifying the plugin; typically the fully qualified name of the plugin's main class.
      Returns:
        the published value, possibly null.