如何在 Android 上更改设备主题开启或关闭深色模式时触发后台服务

问题描述

如何在 Android 上更改设备主题(开启或关闭深色模式)时运行后台功能。 是否有任何 onThemechangelistener(OnDarkModeOn) 或 IntentFilter 或 broadcastReceiver?

解决方法

我不确定这样的监听器是否存在。但是您可以检查您的 onConfigurationChanged 方法:

添加到清单文件中的活动:

android:configChanges="uiMode"

onConfigurationChanged 方法被触发时,您可以检查新的 Configuration

如文档中所述: https://developer.android.com/guide/topics/ui/look-and-feel/darktheme#config-changes

当应用程序在后台时,此解决方案将不起作用。但是您可以尝试使用 ServiceonConfigurationChanged 方法。但这看起来是一个重要的解决方法,而且在这种情况下,您应该了解 Background execution limit