【发布时间】:2011-11-01 16:47:26
【问题描述】:
有没有办法以编程方式从网络提供商处获取日期和时间?可能与我们从网络提供商获取位置的方式相同。
【问题讨论】:
有没有办法以编程方式从网络提供商处获取日期和时间?可能与我们从网络提供商获取位置的方式相同。
【问题讨论】:
您可能需要使用自定义 NITZ 或 NTP 库
因此,请注意 Android 使用运营商提供的 NITZ 事件 正确设置系统日期和时间。 Android 也回退到 当没有可用的蜂窝网络时自动网络 NTP。
http://en.wikipedia.org/wiki/NITZ
currentTimeMillis() 提供的时间通常是最好的 可用时间,这是设备上所有服务使用的时间, 比如日历和闹钟。
然而
但是 NTP API 不是 Java 代码可以访问的地方,这 意味着我们将重新使用现有的 Java NTP/SNTP 客户端库,如果 无论我们是否在网络上,我们都需要准确的时间 这是 NITZ 的能力。
Java NTP 库
您可以从
找到 Java NTP 库的简单实现【讨论】:
答案是肯定的 我尝试了以下代码以从网络提供商处获取时间 为此使用 loc.getTime()
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
latitude.setText(""+loc.getLatitude());
longitude.setText(""+loc.getLongitude());
time.setText(""+loc.getTime());
}
【讨论】: