2011-08-23 50 views

回答

4

您可能需要使用自定義NITZ或NTP圖書館

所以只是預告,Android使用由載體 提供NITZ事件正確設置系統日期和時間。當沒有蜂窩網絡可用時,Android也會自動退回到 網絡NTP。

http://en.wikipedia.org/wiki/NITZ

通過的currentTimeMillis提供的時間()通常是最好的 可用時間,這就是所有的設備使用的服務, 像日曆和鬧鐘。

然而

然而,NTP API不是地方,Java代碼可以訪問,這 意味着我們重新使用現有的Java NTP/SNTP的客戶端庫 我們想要一個準確的無論我們是否在網絡 ,這是NITZ能力。

的Java NTP庫

您可以找到

+0

爲什麼它不是由Android本身提供的,因爲它是開發商的基本需要它自己的應用程序,任何人都可以通過改變時間,如果我們使用日曆 – ANinJa

0

一個天真的實現一個Java NTP庫的答案是肯定的 我嘗試下面的代碼從網絡提供商 獲取時間使用loc.getTime()for t帽子

@Override 
    public void onLocationChanged(Location loc) 
    { 
     loc.getLatitude(); 
     loc.getLongitude(); 

     latitude.setText(""+loc.getLatitude()); 
     longitude.setText(""+loc.getLongitude()); 
     time.setText(""+loc.getTime()); 
    } 
+0

使應用傻瓜這不是的確切時間上次知道的位置?它不是來自運營商,而是來自GPS(儘管後者更準確) – rds

+0

它可以來自任何一個,有一個LocationManager.GPS_PROVIDER和一個LocationManager.NETWORK_PROVIDER – matt5784

相關問題