我想用網絡提供的日期和時間在我的Android應用程序即使網絡日期和時間是在設備設置中禁用並沒有沒有互聯網連接。有沒有任何可能性或解決方案?如何在沒有互聯網連接的情況下獲取網絡提供的日期和時間?
我提到this question但我沒有得到完美的解決方案。
我想用網絡提供的日期和時間在我的Android應用程序即使網絡日期和時間是在設備設置中禁用並沒有沒有互聯網連接。有沒有任何可能性或解決方案?如何在沒有互聯網連接的情況下獲取網絡提供的日期和時間?
我提到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"/>
添加權限
<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
無法在最新的操作系統中設置permission.WRITE_SETTINGS(使用7.0進行測試)。只有系統應用可以使用這些權限。 – DAC84