当前位置: 首页 > 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.dtcms.com/a/299593.html

相关文章:

  • DeepSeek算法学习笔记
  • RabbitMQ--Springboot解决消息丢失
  • Spring Boot集成RabbitMQ终极指南:从配置到高级消息处理
  • Linux进程控制:掌握系统的核心脉络
  • Git版本控制
  • FC(Function Calling)和MCP详解(区别、作用、运用场景)
  • 2.JVM跨平台原理(字节码机制)
  • 【Bluedroid】btif_av_sink_execute_service之服务器禁用源码流程解析
  • 零基础学后端-PHP语言(第二期-PHP基础语法)(通过php内置服务器运行php文件)
  • 机器语言基本概念
  • android开发中的协程和RxJava对比
  • DOM元素添加技巧全解析
  • LangChain + MCP 构建带可视化图表功能的ChatBI智能体
  • Git 创建一个完全没有提交历史的 master 分支
  • 【服务器与部署 27】Shell脚本自动化部署:Python应用一键部署让运维效率提升10倍
  • 【Android】广播机制
  • 【LeetCode 热题 100】131. 分割回文串——回溯
  • 谷歌无法安装扩展程序解决方法(也许成功)
  • JDBC教程,2025版最新讲解.超详细入门教程
  • 从UX到AX:从“设计路径”到“共创关系”的范式革命——Agentic Experience如何重塑未来产品哲学
  • 关于Feign的应用
  • 大话数据结构之<队列>
  • PHP框架之Laravel框架教程:1. laravel搭建
  • 方案C,version1
  • 零基础学习性能测试第四章:从0到1学会编写性能测试报告
  • 如何开始学习和使用 BPF/eBP
  • 树上倍增和LCA问题
  • python—————knn算法
  • C++:STL中vector的使用和模拟实现
  • 计算机网络体系结构的核心思想是什么?它有什么用?