控制深色模式开启方式的代码在这个路径下面:frameworks/base/core/res/res/values/config.xml

这里可以看到注释里有三个值可以选,系统默认选择的是1,也就是不开启深色模式,我这里改为了3,具体可以看UiModeManager.java,在X:\workspace\8168_git\frameworks\base\core\java\android\app目录下可以找到UiModeManager.java

 @IntDef(prefix = { "MODE_" }, value = {MODE_NIGHT_AUTO,MODE_NIGHT_CUSTOM,MODE_NIGHT_NO,MODE_NIGHT_YES})@Retention(RetentionPolicy.SOURCE)public @interface NightMode {}/*** Constant for {@link #setNightMode(int)} and {@link #getNightMode()}:* automatically switch night mode on and off based on the time.*/public static final int MODE_NIGHT_AUTO = 0;/*** Constant for {@link #setNightMode(int)} and {@link #getNightMode()}:* automatically switch night mode on and off based on the time.*/public static final int MODE_NIGHT_CUSTOM = 3;/*** Constant for {@link #setNightMode(int)} and {@link #getNightMode()}:* never run in night mode.*/public static final int MODE_NIGHT_NO = 1;/*** Constant for {@link #setNightMode(int)} and {@link #getNightMode()}:* always run in night mode.*/public static final int MODE_NIGHT_YES = 2;

MODE_NIGHT_CUSTOM 就是我们要改的设定时间开启深色模式,这个时候刷机去看的话可以看到系统默认的设定是22点开启,6点关闭,我们要做的就是更改这个时间,找修改代码位置的过程这里直接省略掉了,无非就是搜在源码里做查找字符串的操作,最后找到是在frameworks/base/services/core/java/com/android/server/UiModeManagerService.java中

private int mLastBroadcastState = Intent.EXTRA_DOCK_STATE_UNDOCKED;private int mNightMode = UiModeManager.MODE_NIGHT_NO;//gyh add
-    private final LocalTime DEFAULT_CUSTOM_NIGHT_START_TIME = LocalTime.of(22, 0);
-    private final LocalTime DEFAULT_CUSTOM_NIGHT_END_TIME = LocalTime.of(6, 0);
+    private final LocalTime DEFAULT_CUSTOM_NIGHT_START_TIME = LocalTime.of(21, 0);
+    private final LocalTime DEFAULT_CUSTOM_NIGHT_END_TIME = LocalTime.of(8, 0);//endprivate LocalTime mCustomAutoNightModeStartMilliseconds = DEFAULT_CUSTOM_NIGHT_START_TIME;private LocalTime mCustomAutoNightModeEndMilliseconds = DEFAULT_CUSTOM_NIGHT_END_TIME;

到这里就完成了需求,在改的过程中发现定时开启关闭护眼模式的功能和深色主题的有点像,同样是在
frameworks/base/core/res/res/values/config.xml下,并且在这里直接修改config_defaultNightDisplayCustomStartTime和config_defaultNightDisplayCustomEndTime就可以改开始时间结束时间,只需要稍微计算一下即可。

安卓11客制需求:在设定时间开启深色主题模式,21点开启,次日8点关闭相关推荐

  1. 安卓11客制需求:用户无操作一段时间,自动播放客户提供的视频,用户操作后退出播放

    在PowerManagerService.java中监听用户操作,10秒无操作则打开预置的apk播放视频,直接上代码: --- a/frameworks/base/services/core/java ...

  2. 安卓11客制需求:<MtkSettings:添加桌面设置,并且能够正常切换桌面APK>

    需要修改的路径代码路径:vendor/mediatek/proprietary/packages/apps/MtkSettings/AndroidManifest.xml <!-- 注册一个ac ...

  3. 安卓11客制需求-去除设置-无障碍-放大功能

    去除菜单项大致思路:通过控制显示一级菜单的top_level_settings.xml找到父菜单,这里找到的是top_level_accessibility对应无障碍菜单 看它的fragment,在目 ...

  4. 安卓11客制需求:设置-无障碍-触摸和按住延迟默认为中

    首先通过控制显示一级菜单项的top_level_settings.xml(vendor\mediatek\proprietary\packages\apps\MtkSettings\res\xml)找 ...

  5. 安卓11客制需求:第三方应用aida64检测蓝牙版本修改为5.0

    路径:frameworks/base/core/java/android/widget/TextView.java @@ -6088,6 +6088,13 @@ public class TextVi ...

  6. android11最新版本是多少,Android11正式发布 安卓11正式版系统发布更新时间

    Android11正式发布 安卓11正式版系统发布更新时间 谷歌Android 11正式版系统在2020年9月9日正式是发布,发布后很快就面向最新的Pixel手机推送.而国内也即将用上,首批使用And ...

  7. 安卓桌面壁纸_三星安卓11刚内测,然而国产旗舰早已用上

    自九月份谷歌正式发布安卓 11 正式版以来,除了亲儿子 Pixel 系列机型能第一时间享受到更新的待遇外,其他手机厂商也在抓紧适配和更新中.不过近几年随着国产厂商对系统的重视程度不断提升,以及在业内的 ...

  8. Android 11.0 系统禁用深色主题背景功能

    1.前言 在11.0的系统rom定制化开发中,在11.0的原生系统中,默认有正常背景和深色主题背景,当系统设置深色主题背景或者进入省电模式情况下会进入 深色主题背景模式这样就会导致系统页面都是黑色的显 ...

  9. 2020.01.11 【ABAP随笔】获取标准报表数据(MB52)数据进行客制ALV

    获取标准报表数据(MB52)数据进行客制ALV 之前有一个需求,客户使用的单位大多为采购单位,但是MB52中是物料主数据中的基本单位,所以需要对MB52进行处理. 相比于增强来说,使用submit去获 ...

最新文章

  1. leetcode 371. Sum of Two Integers
  2. b2evolution_0.9.2修改(1)
  3. python装饰器编程_Python编程中装饰器的使用示例解析
  4. apache log4j入门
  5. for update 和 for update nowait
  6. 聚合maven+spring-boot打包可执行jar
  7. vue中前进刷新、后退缓存用户浏览数据和浏览位置的实践
  8. KVM 介绍(1):简介及安装
  9. java要学多久_学会JAVA需要多长时间?
  10. spring注解开发实例
  11. Java用HttpClient爬大学英语四六级考试成绩查询接口
  12. OSPF网络类型以及不规则区域练习
  13. g40-45支持虚拟化技术_CPU支持虚拟化,虚拟化有什么用怎么开启
  14. 达梦数据库 年月周查询
  15. c# web版本,进销存和财务管理业务系统 ERP系统源码
  16. Spring In Action读书笔记
  17. 一套完整的云计算工具包含ECS、RDS、SLB、OSS、OCS等
  18. 宝宝生活点滴(2009.11)
  19. 提示错误信息:ZeroDivisionError: division by zero的解决方法
  20. 花椒直播列港台为国家被约谈;苏宁云商更名为“苏宁易购”;扎克伯格资产缩水33亿美元丨价值早报

热门文章

  1. 10 款值得珍藏的 Chrome 浏览器插件
  2. What is tethering and how do you enable tethering?
  3. 苹果电脑系统太卡如何彻底清理内存?
  4. Thinkpad E450 黑苹果OpenCore引导驱动包(macOS BigSur 99%完美版)
  5. 用pr做简单的相册视频
  6. Qt中如何做出CSS那样华丽质感以及3D立体感的按钮?
  7. 新百家姓出来了,看你排第几位?
  8. 【FreeRTOS】在Cortex-M4开发板上移植FreeRTOS并且实现LED灯闪烁(保姆级教程)
  9. SQLserver 报错RegCreateKeyEx() 返回了错误 5,“拒绝访问。” (.Net SqlClient Data Provider)错误号: 22002 严重性: 16 状态: 1
  10. Linux删除Nginx有残留怎么办?