有没有办法获得日期&来自网络提供商的编程时间?可能与我们从网络提供商处获取位置的方式相同。
答案 0 :(得分:4)
您可能需要使用自定义NITZ或NTP库
因此Android只使用运营商提供的NITZ活动 正确设置系统日期和时间。 Android也倒退了 没有蜂窝网络时自动建立网络NTP。
http://en.wikipedia.org/wiki/NITZ
currentTimeMillis()提供的时间通常是最好的 可用时间,这是设备上所有服务的使用方式, 比如日历和闹钟。
然而
然而,NTP API不是Java代码可以访问的地方,这是 意味着我们将重新使用现有的Java NTP / SNTP客户端库 无论我们是否在网络上,我们都需要准确的时间 这是NITZ的能力。
Java NTP库
您可以从
中找到Java NTP库的简单实现答案 1 :(得分:0)
答案是肯定的 我尝试了以下代码来从网络提供商处获取时间 使用loc.getTime()作为
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
latitude.setText(""+loc.getLatitude());
longitude.setText(""+loc.getLongitude());
time.setText(""+loc.getTime());
}
答案 2 :(得分:0)
这个问题已经有了最好的答案,但是如果有人需要更简单的方法,这就是我的工作。
使用API或网络调用获取服务器时间,其中响应将带有来自服务器的时间戳。根据您的方便使用数据。
您可以修改现有的API本身(如果有的话)。