Flutter 检测操作系统暗模式是否处于活动状态

Flutter 检测操作系统暗模式是否处于活动状态,flutter,detect,darkmode,Flutter,Detect,Darkmode,我正在寻找一种方法来检测操作系统的暗模式是否处于活动状态,使用颤振。我只希望我的应用程序遵循操作系统的暗模式设置。我已经在谷歌上搜索过了,大多数主题都是关于“设置和切换”暗模式,而不是关于检测操作系统的暗模式。在构建方法中试试这个 var brightness = MediaQuery.of(context).platformBrightness; bool darkModeOn = brightness == Brightness.dark; 您可以使用platformBrightness检

我正在寻找一种方法来检测操作系统的暗模式是否处于活动状态,使用颤振。我只希望我的应用程序遵循操作系统的暗模式设置。我已经在谷歌上搜索过了,大多数主题都是关于“设置和切换”暗模式,而不是关于检测操作系统的暗模式。

在构建方法中试试这个

var brightness = MediaQuery.of(context).platformBrightness;
bool darkModeOn = brightness == Brightness.dark;

您可以使用
platformBrightness
检测操作系统的当前模式

bool isDarkMode() {
    final darkMode = WidgetsBinding.instance.window.platformBrightness;
    if (darkMode == Brightness.dark) {
      return true;
    } else {
      return false;
    }
  }

可能重复?问题的本质是一样的,但在这个线程中,答案并不完美,不能使用旧手机(红色屏幕错误)。幸运的是,这次我得到了可靠的答案。谢谢,你的解决方案非常有效。我试过用旧手机和新手机。在操作系统不支持暗模式的旧手机中,它返回“false”,这是正确的。感谢您的回答,但它看起来不适用于操作系统不支持暗模式的旧手机,它会出现“红屏”错误。