【发布时间】:2017-06-07 09:41:44
【问题描述】:
我想在我的 Android 应用程序中使用网络提供的日期和时间即使在设备设置中禁用了网络日期和时间并且没有互联网连接。有没有可能或任何解决方案?
我推荐了this question,但我没有得到完美的解决方案。
【问题讨论】:
标签: java android android-timepicker networkmanager
我想在我的 Android 应用程序中使用网络提供的日期和时间即使在设备设置中禁用了网络日期和时间并且没有互联网连接。有没有可能或任何解决方案?
我推荐了this question,但我没有得到完美的解决方案。
【问题讨论】:
标签: java android android-timepicker networkmanager
你可以试试这个:
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();
}
【讨论】: