🌟

Flutter pluginで、FlutterActivityのLifecycleを取得・監視する

2022/06/22に公開

Flutter PluginでFlutter Activityのlifecycleを取得・監視する方法は以下になります。
google_maps_flutterのコードから、以下の方法を知りました。こちらにメモしておきます。

前提

Flutter 3.0.1

flutter_plugin_android_lifecycleを使う

packageによっては、activityPluginBinding.lifecycleHiddenLifecycleReferenceでキャストしてからlifecycleを取得しています。
しかし、HiddenLifecycleReferenceの直接利用は推奨されていません。

その代わりに、Plugin内で、flutter_plugin_android_lifecycleをdependenciesに追加して、FlutterLifecycleAdapterを使います。

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  plugin_platform_interface: ^2.0.2
  flutter_plugin_android_lifecycle: ^2.0.1

https://pub.dev/packages/flutter_plugin_android_lifecycle

    override fun onAttachedToActivity(binding: ActivityPluginBinding) {
        let lifecycle = FlutterLifecycleAdapter.getActivityLifecycle(binding)
	lifecycle.addObserver(this)
	...
    }

Discussion