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)
This
ActivityAware FlutterPlugin is now associated with an Activity . |
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.