public interface ActivityAware
FlutterPlugin that is interested in Activity lifecycle events related to a FlutterEngine running within the given Activity.| Modifier and Type | Method and Description |
|---|---|
void |
onAttachedToActivity(ActivityPluginBinding binding)
|
void |
onDetachedFromActivity()
This plugin has been detached from an
Activity. |
void |
onDetachedFromActivityForConfigChanges()
The
Activity that was attached and made available in onAttachedToActivity(ActivityPluginBinding) has been detached from this ActivityAware's FlutterEngine for the purpose of
processing a configuration change. |
void |
onReattachedToActivityForConfigChanges(ActivityPluginBinding binding)
This plugin and its
FlutterEngine have been re-attached to
an Activity after the Activity was recreated to handle
configuration changes. |
void onAttachedToActivity(@NonNull
ActivityPluginBinding binding)
ActivityAware FlutterPlugin is now
associated with an Activity.
This method can be invoked in 1 of 2 situations:
ActivityAware FlutterPlugin was
just added to a FlutterEngine that was already
connected to a running Activity.
ActivityAware FlutterPlugin was
already added to a FlutterEngine and that FlutterEngine was just connected to an Activity.
ActivityPluginBinding contains Activity-related
references that an ActivityAware FlutterPlugin may require, such as a reference to the
actual Activity in question. The ActivityPluginBinding may be
referenced until either onDetachedFromActivityForConfigChanges() or onDetachedFromActivity() is invoked. At the conclusion of either of those methods, the
binding is no longer valid. Clear any references to the binding or its resources, and do not
invoke any further methods on the binding or its resources.void onDetachedFromActivityForConfigChanges()
Activity that was attached and made available in onAttachedToActivity(ActivityPluginBinding) has been detached from this ActivityAware's FlutterEngine for the purpose of
processing a configuration change.
By the end of this method, the Activity that was made available in
onAttachedToActivity(ActivityPluginBinding) is no longer valid. Any references to the
associated Activity or ActivityPluginBinding should be cleared.
This method should be quickly followed by onReattachedToActivityForConfigChanges(ActivityPluginBinding), which signifies that a new
Activity has been created with the new configuration options. That method
provides a new ActivityPluginBinding, which references the newly created and associated
Activity.
Any Lifecycle listeners that were registered in onAttachedToActivity(ActivityPluginBinding) should be deregistered here to avoid a possible
memory leak and other side effects.
void onReattachedToActivityForConfigChanges(@NonNull
ActivityPluginBinding binding)
FlutterEngine have been re-attached to
an Activity after the Activity was recreated to handle
configuration changes.
binding includes a reference to the new instance of the Activity. binding and its references may be cached and used from now until
either onDetachedFromActivityForConfigChanges() or onDetachedFromActivity()
is invoked. At the conclusion of either of those methods, the binding is no longer valid. Clear
any references to the binding or its resources, and do not invoke any further methods on the
binding or its resources.
void onDetachedFromActivity()
Activity.
Detachment can occur for a number of reasons.
Activity instance has been
destroyed.
FlutterEngine that this plugin is connected to
has been detached from its FlutterView.
ActivityAware plugin has been removed from its FlutterEngine.
Activity that was made available in onAttachedToActivity(ActivityPluginBinding) is no longer valid. Any references to the
associated Activity or ActivityPluginBinding should be cleared.
Any Lifecycle listeners that were registered in onAttachedToActivity(ActivityPluginBinding) or onReattachedToActivityForConfigChanges(ActivityPluginBinding) should be deregistered here to
avoid a possible memory leak and other side effects.