【问题标题】:Change platform brigtness is triggered when 'Home' is pressed in iOS 15 Simulator在 iOS 15 模拟器中按下“主页”时触发更改平台亮度
【发布时间】:2021-11-15 09:13:47
【问题描述】:
在我即将推出的 Flutter 应用中将我的模拟器更新到 iOS 15 后,我遇到了问题。当我按下顶部的“主页”按钮时,它会导致我的应用程序触发 didChangePlatformBrightness() 函数两次。
认真考虑在应用程序已经打开时删除此检查并仅在启动时保留它。任何人有同样的问题,以及如何解决它的任何提示?
在 Android 上一切正常,正如预期的那样。
【问题讨论】:
标签:
flutter
brightness
ios15
【解决方案1】:
我通过监控应用生命周期状态解决了这个问题。如果应用程序处于恢复状态,那么我更改配色方案,否则我什么都不做。这是因为当您按下主页按钮时,应用程序状态会发生变化。请看下面的例子:
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();
}
}