私は、ネットワークの日付と時刻は、デバイスの設定で無効であるとなしインターネット接続があっても私のアンドロイドアプリケーションでネットワーク提供日時を使用します。任意の可能性や解決策はありますか?インターネット接続なしでネットワークの日付と時間を取得するにはどうすればよいですか?
私はthis questionを参照しますが、私は完璧なソリューションを取得できませんでした。
私は、ネットワークの日付と時刻は、デバイスの設定で無効であるとなしインターネット接続があっても私のアンドロイドアプリケーションでネットワーク提供日時を使用します。任意の可能性や解決策はありますか?インターネット接続なしでネットワークの日付と時間を取得するにはどうすればよいですか?
私はthis questionを参照しますが、私は完璧なソリューションを取得できませんでした。
あなたはこれを試すことができます。
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"/>
を与えることを忘れないでください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();
}
私はすでに試しましたが、動作しません。 – immodi
最新のOS(7.0でテスト済み)ではpermission.WRITE_SETTINGSを設定できません。これらの権限は、システムアプリだけが使用できます。 – DAC84