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.