我在 Google 後,查到 .dart 可以監聽 didChangeAppLifecycleState ,記下 AppLifecycleState 後,在 setState 讀到是 paused 或 inactive 時,Widget build 回傳色塊。
但是做好以後 iOS 跟 Android 狀況完全不同,也不符合需求。(即使符合,要每個 .dart 都做,似乎也不是一個好作法)
iOS 跟 Android 各自狀況是:
iOS 部分最後我還是寫了原生方法,在 AppDelegate 的生命週期裡解決了。
Android 部分,我 Google 後查到的是 Android 沒有像 iOS 有整個 App 生命週期的地方可以寫。Android 這功能的作法是全部的 Activity 繼承一個 BaseActivity,然後在 BaseActivity 裡做,但是這樣在 Flutter 裡我不知道該如何實現。
不曉得有沒有人做過這樣的功能,並在雙平台運作正常?