【问题标题】:How to know if the system clock has changed?如何知道系统时钟是否已更改?
【发布时间】:2012-01-20 00:23:18
【问题描述】:

在我的应用程序中,我有一个服务,例如 30 秒后,它会运行另一个活动。我用警报管理器完成了这个过程。

但问题是,如果用户更改系统时间,它会影响 30 秒。你的建议是什么?有没有办法知道用户是否更改了系统时间?

【问题讨论】:

  • 我建议您阅读以下内容:developer.android.com/reference/android/os/SystemClock.html 看起来它会让您的生活变得更轻松。我知道我迟到了 7 个月,但以防万一您再次遇到问题,该文档将很有用。基本上,SystemClock 允许您测量经过的时间,而不必依赖系统的挂钟。

标签: android time timezone


【解决方案1】:

您可以收听Intent.ACTION_DATE_CHANGED广播。您的 ApplicationManifest 文件应包含类似

    <receiver android:name="com.test.YouBroadcastReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.DATE_CHANGED" >
            </action>

            <category android:name="android.intent.category.DEFAULT" >
            </category>
        </intent-filter>
    </receiver>

广播接收器参考:

http://developer.android.com/reference/android/content/BroadcastReceiver.html

【讨论】:

  • 另外,这里可能对 ACTION_TIME_CHANGED 和 ACTION_TIMEZONE_CHANGED 操作感兴趣。
猜你喜欢
  • 2021-07-10
  • 2010-09-16
  • 1970-01-01
  • 2017-03-23
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 2015-03-28
相关资源
最近更新 更多