在 iOS 15 模拟器中按下 'Home' 时会触发更改平台亮度

Change platform brigtness is triggered when 'Home' is pressed in iOS 15 Simulator

我的模拟器在即将推出的 Flutter 应用程序中更新为 iOS 15 后出现问题。当我按下顶部的 'Home' 按钮时,它会导致我的应用程序触发 didChangePlatformBrightness() 函数两次。

认真考虑在应用程序已经打开时删除此检查并仅在启动时保留它。有没有人遇到同样的问题,有什么解决方法吗?

在 Android 上一切正常,正如预期的那样。

我通过监控 App 生命周期状态解决了这个问题。如果应用程序处于恢复状态,那么我会更改配色方案,否则我什么都不做。发生这种情况是因为当您按下主页按钮时,应用程序状态会发生变化。请参阅以下示例:

void didChangePlatformBrightness() {
    if (appState == AppLifecycleState.resumed) {
      //give the user a choice for restarting the app, so the colors will 
      //all be set correctly
      showThemeChangeWarning(); 
      setColorScheme(); 
      super.didChangePlatformBrightness();
    }
  }