blob: 6db96fb85e78884df9f77e046c73a5d006a12544 [file] [log] [blame] [view]
# Flutter Android Lifecycle Plugin
[![pub package](https://img.shields.io/pub/v/flutter_plugin_android_lifecycle.svg)](https://pub.dev/packages/flutter_plugin_android_lifecycle)
A Flutter plugin for Android to allow other Flutter plugins to access Android `Lifecycle` objects
in the plugin's binding.
The purpose of having this plugin instead of exposing an Android `Lifecycle` object in the engine's
Android embedding plugins API is to force plugins to have a pub constraint that signifies the
major version of the Android `Lifecycle` API they expect.
| | Android |
|-------------|---------|
| **Support** | SDK 16+ |
## Installation
Add `flutter_plugin_android_lifecycle` as a [dependency in your pubspec.yaml file](https://flutter.dev/using-packages/).
## Example
Use a `FlutterLifecycleAdapter` within another Flutter plugin's Android implementation, as shown
below:
```java
import androidx.lifecycle.Lifecycle;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.embedding.engine.plugins.activity.ActivityAware;
import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding;
import io.flutter.embedding.engine.plugins.lifecycle.FlutterLifecycleAdapter;
public class MyPlugin implements FlutterPlugin, ActivityAware {
@Override
public void onAttachedToActivity(ActivityPluginBinding binding) {
Lifecycle lifecycle = FlutterLifecycleAdapter.getActivityLifecycle(binding);
// Use lifecycle as desired.
}
//...
}
```
[Feedback welcome](https://github.com/flutter/flutter/issues) and
[Pull Requests](https://github.com/flutter/packages/pulls) are most welcome!