【bug分享】一些rom进入时自动显示为夜间模式

大部分的APP都有夜间模式这个功能。最近遇到一个bug是在一台nexus 6p上,我们的APP启动时部分页面就显示为夜间模式,但是客户端内的夜间模式开关并未开启。

android资源文件夹命名规则可以看到,android 8以上,如果命名了night属性文件夹,那么app启动时就会根据当前系统UiMode进行自动设置。本次bug的原因就是该设备系统的UiMode值为MODE_NIGHT_YES(表示夜间模式),而app里又有color-night的属性文件夹。

注:UiMode可以通过UIModeManager.setNightMode进行设置。但是在api23以下,

void setNightMode (int mode)

只有当设备处于汽车或桌面模式时才能使用,在api23后可以在任何模式下使用。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 156,130评论 24 683
  • 我们刚相遇时,是高中二年级。你坐我后面,爱借我的中性笔芯,可是重来不还我。然后我同桌说你喜欢我,我不信。 高三暧昧...
    芯噜噜阅读 91评论 0 1
  • 光影有深意。 影像重现 光影维他命 一个人的时候,还是会寂寞 还是会期待那个被理解的坚定眼神 我还在等,那个谁也说...
    挖藕阅读 304评论 1 1