android - Android 何时广播 ACTION_DATE_CHANGED?
问题描述
我正在设计一个闹钟应用程序,我需要收听两个系统广播:Intent.ACTION_TIME_CHANGED
和Intent.ACTION_DATE_CHANGED
.
我相信ACTION_TIME_CHANGED
当用户手动更改时间时会被解雇。但是什么时候ACTION_DATE_CHANGED
播出呢?
此操作的文档不太令人信服。它说,
日期已更改。
谁改了日期?用户,通过更改日期设置?还是时钟跳到了第二天?
我发现关于此的两个 Stack Overflow 答案:
这两个答案表明完全不同的行为。如果答案 #1 正确,我将使用上下文注册的接收器收听此广播。如果答案 #2 正确,我需要注册一个上下文注册的接收器Intent.ACTION_TIME_TICK
,然后手动检查我们是在第二天还是同一天。
解决方案
根据@Nicolas 的建议,我测试了两个广播。结果:
ACTION_TIME_CHANGED
只有当用户手动更改日期、时间或时间格式(从 12 小时到 24 小时格式,反之亦然)时才会广播。ACTION_DATE_CHANGED
仅在日期变化时广播,即当我们从晚上 11:59 到第二天凌晨 12:00 时。这是系统自动触发的。
推荐阅读
- function - 为什么 GGIR R 代码需要很长时间才能运行?
- python - 如何在 Flask 中的 send_from_directory 之后删除文件?
- python - 我可以使用 python 来简化涉及所有列的 SQLite 查询吗?
- javascript - 连接这两个字符串如何导致这个结果?
- azure - 使用 Azure Pipelines 在虚拟机规模集上进行 Azure Python 函数分解
- python - 由于缺少存根文件,Sphinx 没有迭代 .rst 文件
- api - 如何获取 facebook webhook 请求的静态 IP/域
- vba - (SQL Like 语句) + (ACCESS Combobox IMPUT) + (ACCESS SubFormulary OUTPUT)
- python - 如何将噪声签名/配置文件/指纹/PRNU 应用于新图像?
- r - r中的“情节”打包问题