要检测“系统”是否处于暗模式,您可以使用UiModeManager类的getNightMode()方法。
https://developer.android.com/reference/android/app/UiModeManager#getNightMode()
像这样,
UiModeManager uiModeManager = (UiModeManager) context.getSystemService(Context.UI_MODE_SERVICE);
int mode = uiModeManager.getNightMode();
if (mode == UiModeManager.MODE_NIGHT_YES) {
// System is in Night mode
} else if (mode == UiModeManager.MODE_NIGHT_NO) {
// System is in Day mode
}
如果想知道“您的应用程序”是否处于夜间模式:
int mode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
switch (mode) {
case Configuration.UI_MODE_NIGHT_NO:
// App is in Night mode
break;
case Configuration.UI_MODE_NIGHT_YES:
// App is in Day mode
break;
case Configuration.UI_MODE_NIGHT_UNDEFINED:
// We don't know what mode we're in, assume notnight
break;
}