【问题标题】:Why using network provider for location updates in Android GPS gives device time?为什么在 Android GPS 中使用网络提供商进行位置更新会给设备时间?
【发布时间】:2010-08-08 08:52:54
【问题描述】:

在使用网络提供商进行位置更新时,我发现它与我在设备上设置的时间相同。不能是网络提供的,当它是GPS的时候。或者如果网络提供商不能提供时间,那么至少 location.getTime() 应该返回 0 而不是设备时间。有什么方法可以避免设备时间,因为我想区分它。

【问题讨论】:

    标签: android gps


    【解决方案1】:

    网络提供商不会像 GPS 那样为您的手机提供时间。没有办法改变它。

    这是因为网络提供商正在使用您的手机所连接的 GPRS/EDGE/WIFI/3G 天线的位置,并从中计算出大致位置 - 没有特定的“网络位置”服务。

    另一方面,GPS 或Navigational Satellite Timing and Ranging - Global Positioning System (NAVSTAR GPS) 专为传输原子钟精确定时信号而设计。

    【讨论】:

    • 嗯...但是至少 location.getTime() 应该返回 null 而不是设备时间,以表明它不能给它。
    【解决方案2】:

    它不会返回 null,因为当它为 null 时,它会使用系统时间。 可以参考Location.class

    的源码
    if (mTime == 0) 
       mTime = System.currentTimeMillis();
    

    【讨论】:

      猜你喜欢
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多