【问题标题】:Force Android to update actual device time强制 Android 更新实际设备时间
【发布时间】:2015-06-15 00:45:08
【问题描述】:

我正在开发需要经常访问实际设备时间的应用程序。我可以检测设备时间与服务器时间相比是否正确,如果设备时间错误我需要自动更改为实际时间。

我已经看到change the time of device programmatically 是必须有根设备的。

当你知道不需要root不正确时,有什么方法可以强制同步时间?

如果不可能。有什么方法可以让我的应用程序有一个与设备时钟不同的内部时钟(与我的服务器同步),而不是每次我想要时间时都调用服务器,并且即使我没有互联网也能获得正确的时间?

【问题讨论】:

  • 你提出的最后一个问题似乎很简单。只需获取服务器时间,计算与本地时间的差异。保存该差异,然后您就知道您所要做的就是在显示时将差异添加到本地时间
  • 即使用户在与服务器同步后故意更改设备小时,我也需要实时小时。
  • 如果您没有连接到服务器,并且用户更改了您的时间,如果您的应用程序没有持续运行,您将无能为力。你介意分享你为什么要这样做吗?它可以帮助我们想出更好的选择。

标签: android


【解决方案1】:
  1. 对于第三方应用,没有root权限是无法设置系统时间的。

  2. 是的,您可以使用Calender 和系统广播的以下意图来构建内部时钟。另一种简化工作的方法是直接使用TextClock 小部件作为内部时钟,如果您不想构建自己的时钟,则使用反射机制设置和跟踪TextClock 的时间。只要您的应用继续运行,内部时钟就会工作。

    Intent.ACTION_TIME_CHANGED
    Intent.ACTION_TIME_TICK
    Intent.ACTION_TIMEZONE_CHANGED
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2013-01-23
    相关资源
    最近更新 更多