2017-06-07 8 views
1

私は、ネットワークの日付と時刻は、デバイスの設定で無効であるとなしインターネット接続があっても私のアンドロイドアプリケーションネットワーク提供日時を使用します。任意の可能性や解決策はありますか?インターネット接続なしでネットワークの日付と時間を取得するにはどうすればよいですか?


私はthis questionを参照しますが、私は完璧なソリューションを取得できませんでした。

答えて

1

あなたはこれを試すことができます。

String s1= android.provider.Settings.System.getString(this.getContentResolver(), 
      android.provider.Settings.System.AUTO_TIME); 
    if (s1.contentEquals("0")) { 
     android.provider.Settings.System.putString(
       this.getContentResolver(), 
       android.provider.Settings.System.AUTO_TIME, "1"); 
    } 
    Date d1= new Date(System.currentTimeMillis()); 
    Log.e("finalvalue", d1.toString()); 

許可に

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
+0

私はすでに試しましたが、動作しません。 – immodi

+0

最新のOS(7.0でテスト済み)ではpermission.WRITE_SETTINGSを設定できません。これらの権限は、システムアプリだけが使用できます。 – DAC84

0

を与えることを忘れないでくださいOKのget時間あれば許可

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

チェック権限を追加します。

 LocationManager locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 

     return; 
    } 
    Location location=locMan.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
    if(location!=null){ 
     long time = location.getTime(); 
    } 
+0

あなたの返信ありがとうございます。私はすでにあなたの解決策を試しましたが、このような異なる時が来ています** 06-07 15:23:03.548 1734-1734/com.abc.example E/myDate11:myDate:Thu Jun 07 15:22: 57 GMT + 05:30 2007 ** – immodi

+0

今回は完全に正確ではないかもしれません。 –

+0

これは実際に受信した場所の時刻を返します... GPSが長時間オフになっている場合、最後に知っている場所が異なり、対応する時間も異なります – DAC84

関連する問題