这个问题可能是由于您在应用程序中设置了 systemNavigationBarIconBrightness 的值,但是当应用程序被销毁并且在后台重新创建时,系统会恢复其默认设置。要解决这个问题,您可以将 systemNavigationBarIconBrightness 的值保存在 SharedPreferences 中,然后在应用程序重新创建时从中恢复该值。
下面是示例代码:
// 保存 systemNavigationBarIconBrightness 的值 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = prefs.edit(); editor.putFloat("navigation_icon_brightness", getWindow().getNavigationBarColor()); editor.apply();
// 恢复 systemNavigationBarIconBrightness 的值 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); Float navigationIconBrightness = prefs.getFloat("navigation_icon_brightness", -1); if (navigationIconBrightness != -1) { getWindow().setNavigationBarColor(navigationIconBrightness.intValue()); }