2011-08-23 6 views

答えて

4

あなたは、Androidが適切に設定するためにキャリア が提供するNITZイベントを使用していることだけで頭アップだから、カスタムNITZまたはNTPライブラリ

を使用する必要がありますシステムの日付と時刻また、携帯電話ネットワークが利用できない場合でも、Androidは ネットワークNTPに自動的にフォールバックします。

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

にcurrentTimeMillisによって提供される時間は、()は、通常、最高の 利用可能な時間になり、そしてそれは何カレンダーと目覚まし時計のようなデバイスの使用上のすべてのサービス、 。

しかし

NTPのAPIが は、我々は正確にしたい 場合、我々は戻って既存のJava NTP/SNTPクライアントライブラリを使用することにしていることを意味する、Javaコードがアクセスできることをどこかではなく、しかし、私たちがネットワーク上にいるかどうかにかかわらず、NITZ対応の です。

JavaのNTPライブラリ

あなたは

+0

我々はカレンダー – ANinJa

0

からのJava NTP図書館の素朴な実装を見つけることができる答えは、私は次のコードを試してみましたYES ですネットワークプロバイダから時刻を取得する tのloc.getTime()を使用する帽子

@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

関連する問題