1

是否可以强制 android 忽略某些活动,从白天模式切换到夜间模式以及其他活动?

目前一个可能的解决方法是:

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState == null) {
      // Set the local night mode to some value
      getDelegate().setLocalNightMode(
                AppCompatDelegate.MODE_NIGHT_...);
      // Now recreate for it to take effect
      recreate();
    }
  }
}

但是,这迫使我每次都重新创建活动。是否可以在 MODE_NIGHT 中自动创建它而不重新创建它,而不管为应用程序的其余部分设置了什么?

4

1 回答 1

2

像这样做

public void onCreate(Bundle savedInstanceState) {
    getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
    // use this to keep mode after exit activity
    // AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
    super.onCreate(savedInstanceState);
}

打电话setDefaultNightModesetLocalNightMode之前super.onCreate

于 2019-04-23T07:42:35.093 回答