当前位置: 首页 > news >正文

Android 修改系统时间源码阅读

链接:XRefAndroid - Support Android 16.0 & OpenHarmony 5.0 (AndroidXRef/AospXRef)

这里看的Android 10的代码,选中Android 10,勾选所有工程,搜索DateTimeSettings‌:

看到showTimePicker应该是显示一个设置时间的弹框:

发现当前类没有这个方法,在其父类的父类SettingsPreferenceFragment中找到该方法定义:

看下SettingsDialogFragment如何创建dialog:

接着查看parentFragment(即DateTimeSettings)里面的onCreateDialog代码:

然后看TimePreferenceController这个类的buildTimePicker方法:

而且这里还顺便看到了设置系统时间的方法setTime。 

可见, 系统时间设置,精确到分,秒和毫秒都置为0。 并且还有个“最小日期”时间戳,设置的时间若小于那个最小时间,则置为最小时间。另外,还有个最大时间(Integer.MAX_VALUE,单位:秒),不能大于那个最大时间。 然后调用AlarmManager的setTime方法设置时间:

 ((AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);

http://www.xdnf.cn/news/1188415.html

相关文章:

  • Linux的生态与软件安装
  • 主要分布在腹侧海马体(vHPC)CA1区域(vCA1)的混合调谐细胞(mixed-tuning cells)对NLP中的深层语义分析的积极影响和启示
  • 车载诊断刷写 --- Flash关于擦除和写入大小
  • 【MySQL】深入浅出事务:保证数据一致性的核心武器
  • 深度解析 noisereduce:开源音频降噪库实践
  • 【影刀RPA_初级课程_我的第一个机器人】
  • LeetCode|Day26|191. 位 1 的个数|Python刷题笔记
  • 像素、视野、光源,都有哪些因素影响测量精度?
  • DSP在CCS中实现双核在线仿真调试及下载的方法(以TMS320F28x为例)
  • 【Redis】 Redis 基础命令和原理
  • 详解力扣高频SQL50题之1193. 每月交易 I【简单】
  • MySQL操作进阶
  • 1. 多线程开发
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 热词评论查询功能实现
  • 机器学习(重学版)基础篇(概念与评估)
  • Qt 远程过程调用(RPC)实现方案
  • 大模型应用班-第2课 DeepSeek使用与提示词工程课程重点 学习ollama 安装 用deepseek-r1:1.5b 分析PDF 内容
  • UniappDay03
  • 高斯数据库触发器实现流水号的
  • 去中心化时代的通信革命:briefing与cpolar技术融合带来的安全范式革新
  • 【Linux系统】理解硬件 | 引入文件系统
  • 机器学习特征工程:特征选择及在医学影像领域的应用
  • 数字孪生映射探索驱动的具身导航!MorphoNavi:面向对象映射的空地机器人导航
  • 2D游戏背景滚动教程(JavaSwing)
  • 机器学习特征工程详解:特征选择与降维(PCA)
  • 数据赋能(336)——技术平台——智能化运营
  • 2.JVM跨平台原理(字节码机制)
  • Java研学-RabbitMQ(二)
  • C++中new和delete的多重面孔:operator new、new operator与placement new解析
  • 初识java