Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获得有关Android系统主题更改的通知?_Java_Android_Kotlin_Android Intent_Themes - Fatal编程技术网

Java 如何获得有关Android系统主题更改的通知?

Java 如何获得有关Android系统主题更改的通知?,java,android,kotlin,android-intent,themes,Java,Android,Kotlin,Android Intent,Themes,Android在API级别29及更高版本中引入了黑暗主题()。要在您自己的应用程序中支持黑暗主题,您的应用程序的主题需要继承自DayNight主题。 但是,如果您自己制作主题,Android是否有意引起对系统主题更改的注意呢?如果您将Android:configChanges=“uiMode”添加到清单中的活动中,当用户更改主题时,将调用onConfigurationChanged方法。如果你覆盖了它,你可以在那里做所有相关的工作。要检查当前主题是什么,可以执行以下操作: val current

Android在API级别29及更高版本中引入了黑暗主题()。要在您自己的应用程序中支持黑暗主题,您的应用程序的主题需要继承自DayNight主题。
但是,如果您自己制作主题,Android是否有意引起对系统主题更改的注意呢?

如果您将
Android:configChanges=“uiMode”
添加到清单中的活动中,当用户更改主题时,将调用
onConfigurationChanged
方法。如果你覆盖了它,你可以在那里做所有相关的工作。要检查当前主题是什么,可以执行以下操作:

val currentNightMode = configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
when (currentNightMode) {
    Configuration.UI_MODE_NIGHT_NO -> {} // Night mode is not active, we're using the light theme
    Configuration.UI_MODE_NIGHT_YES -> {} // Night mode is active, we're using dark theme
}
()