侦听通知区域中的“黑暗主题”,并收到更改通知

时间:2020-01-11 11:36:33

标签: android android-theme android-10.0

我可以通过调用fun main(args: Array<String>) { TestObj TestObj } object TestObj { var count = 0 init { fun howManyTimes() { println(++count) } } } UI_MODE_NIGHT_MASK来获得resources.configuration.uiMode

我需要听这个变量,并在接收新值时更改主题。

我想我可以添加一个Configuration.UI_MODE_NIGHT_MASK,所以我可以做一个BroadcastReceiver并注册一个类似于getSystemService(A_CONSTANT_FROM_Context)的主题回调。但是我只能在文档中找到这些:在主题样式上扩展ConnectivityManager.NetworkCallback并使用Theme.MaterialComponents.DayNight。问题dark them config已获得引用此文档的公认答案。

1 个答案:

答案 0 :(得分:1)

要了解<Root level="info"> <AppenderRef ref="File"/> <AppenderRef ref="Console"/> </Root> 的更改,请在您的uiMode中添加configChanges属性:

AndroidManifest.xml

然后在您的活动中侦听配置更改:

<application
    ...>
    <activity
        android:name=".YourActivity"
        ...
        android:configChanges="uiMode"/>
</application>