Package io.flutter.embedding.engine.plugins.activity

# Interface ActivityPluginBinding

public interface ActivityPluginBinding
Binding that gives `ActivityAware` plugins access to an associated `Activity` and the `Activity`'s lifecycle methods.

To obtain an instance of an `ActivityPluginBinding` in a Flutter plugin, implement the `ActivityAware` interface. A binding is provided in `ActivityAware.onAttachedToActivity(ActivityPluginBinding)` and `ActivityAware.onReattachedToActivityForConfigChanges(ActivityPluginBinding)`.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `ActivityPluginBinding.OnSaveInstanceStateListener`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addActivityResultListener(PluginRegistry.ActivityResultListener listener)`
  Adds a listener that is invoked whenever the associated `Activity`'s `onActivityResult(...)` method is invoked.
  `void`
  `addOnNewIntentListener(PluginRegistry.NewIntentListener listener)`
  Adds a listener that is invoked whenever the associated `Activity`'s `onNewIntent(...)` method is invoked.
  `void`
  `addOnSaveStateListener(ActivityPluginBinding.OnSaveInstanceStateListener listener)`
  Adds a listener that is invoked when the associated `Activity` or `Fragment` saves and restores instance state.
  `void`
  `addOnUserLeaveHintListener(PluginRegistry.UserLeaveHintListener listener)`
  Adds a listener that is invoked whenever the associated `Activity`'s `onUserLeaveHint()` method is invoked.
  `void`
  `addOnWindowFocusChangedListener(PluginRegistry.WindowFocusChangedListener listener)`
  Adds a listener that is invoked whenever the associated `Activity`'s `onWindowFocusChanged()` method is invoked.
  `void`
  `addRequestPermissionsResultListener(PluginRegistry.RequestPermissionsResultListener listener)`
  Adds a listener that is invoked whenever the associated `Activity`'s `onRequestPermissionsResult(...)` method is invoked.
  `Activity`
  `getActivity()`
  Returns the `Activity` that is currently attached to the `FlutterEngine` that owns this `ActivityPluginBinding`.
  `Object`
  `getLifecycle()`
  Returns the `Lifecycle` associated with the attached `Activity`.
  `void`
  `removeActivityResultListener(PluginRegistry.ActivityResultListener listener)`
  Removes a listener that was added in `addActivityResultListener(PluginRegistry.ActivityResultListener)`.
  `void`
  `removeOnNewIntentListener(PluginRegistry.NewIntentListener listener)`
  Removes a listener that was added in `addOnNewIntentListener(PluginRegistry.NewIntentListener)`.
  `void`
  `removeOnSaveStateListener(ActivityPluginBinding.OnSaveInstanceStateListener listener)`
  Removes a listener that was added in `addOnSaveStateListener(OnSaveInstanceStateListener)`.
  `void`
  `removeOnUserLeaveHintListener(PluginRegistry.UserLeaveHintListener listener)`
  Removes a listener that was added in `addOnUserLeaveHintListener(PluginRegistry.UserLeaveHintListener)`.
  `void`
  `removeOnWindowFocusChangedListener(PluginRegistry.WindowFocusChangedListener listener)`
  Removes a listener that was added in `addOnWindowFocusChangedListener(PluginRegistry.WindowFocusChangedListener)`.
  `void`
  `removeRequestPermissionsResultListener(PluginRegistry.RequestPermissionsResultListener listener)`
  Removes a listener that was added in `addRequestPermissionsResultListener(PluginRegistry.RequestPermissionsResultListener)`.

- ## Method Details

  - ### getActivity

    @NonNull Activity getActivity()
    Returns the `Activity` that is currently attached to the `FlutterEngine` that owns this `ActivityPluginBinding`.

  - ### getLifecycle

    @NonNull Object getLifecycle()
    Returns the `Lifecycle` associated with the attached `Activity`.

    Use the flutter_plugin_android_lifecycle plugin to turn the returned `Object` into a `androidx.lifecycle.Lifecycle` object. See (https://github.com/flutter/packages/tree/main/packages/flutter_plugin_android_lifecycle). Flutter plugins that rely on `androidx.lifecycle.Lifecycle` are forced to use the flutter_plugin_android_lifecycle plugin so that the version of the Android Lifecycle library is exposed to pub, which allows Flutter to manage different versions library over time.

  - ### addRequestPermissionsResultListener

    void addRequestPermissionsResultListener(@NonNull PluginRegistry.RequestPermissionsResultListener listener)
    Adds a listener that is invoked whenever the associated `Activity`'s `onRequestPermissionsResult(...)` method is invoked.

  - ### removeRequestPermissionsResultListener

    void removeRequestPermissionsResultListener(@NonNull PluginRegistry.RequestPermissionsResultListener listener)
    Removes a listener that was added in `addRequestPermissionsResultListener(PluginRegistry.RequestPermissionsResultListener)`.

  - ### addActivityResultListener

    void addActivityResultListener(@NonNull PluginRegistry.ActivityResultListener listener)
    Adds a listener that is invoked whenever the associated `Activity`'s `onActivityResult(...)` method is invoked.

  - ### removeActivityResultListener

    void removeActivityResultListener(@NonNull PluginRegistry.ActivityResultListener listener)
    Removes a listener that was added in `addActivityResultListener(PluginRegistry.ActivityResultListener)`.

  - ### addOnNewIntentListener

    void addOnNewIntentListener(@NonNull PluginRegistry.NewIntentListener listener)
    Adds a listener that is invoked whenever the associated `Activity`'s `onNewIntent(...)` method is invoked.

  - ### removeOnNewIntentListener

    void removeOnNewIntentListener(@NonNull PluginRegistry.NewIntentListener listener)
    Removes a listener that was added in `addOnNewIntentListener(PluginRegistry.NewIntentListener)`.

  - ### addOnUserLeaveHintListener

    void addOnUserLeaveHintListener(@NonNull PluginRegistry.UserLeaveHintListener listener)
    Adds a listener that is invoked whenever the associated `Activity`'s `onUserLeaveHint()` method is invoked.

  - ### removeOnUserLeaveHintListener

    void removeOnUserLeaveHintListener(@NonNull PluginRegistry.UserLeaveHintListener listener)
    Removes a listener that was added in `addOnUserLeaveHintListener(PluginRegistry.UserLeaveHintListener)`.

  - ### addOnWindowFocusChangedListener

    void addOnWindowFocusChangedListener(@NonNull PluginRegistry.WindowFocusChangedListener listener)
    Adds a listener that is invoked whenever the associated `Activity`'s `onWindowFocusChanged()` method is invoked.

  - ### removeOnWindowFocusChangedListener

    void removeOnWindowFocusChangedListener(@NonNull PluginRegistry.WindowFocusChangedListener listener)
    Removes a listener that was added in `addOnWindowFocusChangedListener(PluginRegistry.WindowFocusChangedListener)`.

  - ### addOnSaveStateListener

    void addOnSaveStateListener(@NonNull ActivityPluginBinding.OnSaveInstanceStateListener listener)
    Adds a listener that is invoked when the associated `Activity` or `Fragment` saves and restores instance state.

  - ### removeOnSaveStateListener

    void removeOnSaveStateListener(@NonNull ActivityPluginBinding.OnSaveInstanceStateListener listener)
    Removes a listener that was added in `addOnSaveStateListener(OnSaveInstanceStateListener)`.