我正在实施称为暗模式的新 Android 10 功能,这里有一些文档。它建议使用这条线进行切换:
AppCompatDelegate.setDefaultNightMode(mode);
这工作正常(打开,关闭,系统) - 我正在安装调试应用程序,在我的应用程序设置中设置正确的模式,所有Activities
重新启动都根据需要主题。我可以退出应用程序,强制关闭,返回,我的设置仍然存在。问题是当我再次构建 apk 并安装时(即使没有任何代码更改,只需在 AS 中使用 Shift + F10)然后根据来源getDefaultNightMode()
返回MODE_NIGHT_UNSPECIFIED
默认设置和回退到系统依赖。看起来未来的应用更新将重置暗模式。我怎样才能防止这种情况发生,我错过了什么吗?
PS。是的,我可以自己存储设置模式并强制恢复何时AppCompatDelegate
返回默认模式,但请从上面的链接文档中查看此注释:
注意:从 AppCompat v1.1.0 开始,setDefaultNightMode() 会自动重新创建任何已启动的活动。
我不想在每次更新后首次启动时(可能)闪烁 UI...