Android6.0 禁止自动同步网络时间

点击打开链接

配置文件在:frameworks/base/packages/SettingsProvider/res/values/defaults.xml

  1. <bool name="def_auto_time">false </bool>
  2. <bool name="def_auto_time_zone">false </bool>

直接将def_auto_time 和 def_auto_time_zone设置成false,就不会同步网络时间了。

如果用户去设置中去勾选,还是可以同步时间的,下面将把设置中的自动同步选项移除,

移除packages/apps/Settings/res/xml/date_time_prefs.xml

  1. <!-- <SwitchPreference android:key="auto_time"
  2. android:title="@string/date_time_auto"
  3. android:summaryOn="@string/date_time_auto_summaryOn"
  4. android:summaryOff="@string/date_time_auto_summaryOff"
  5. />
  6. -->
在packages/apps/Settings/src/com/android/settings/DateTimeSettings.java删除有关获取auto_time的ID的代码。
  1. --- a/packages/apps/Settings/src/com/android/settings/DateTimeSettings.java
  2. +++ b/packages/apps/Settings/src/com/android/settings/DateTimeSettings.java
  3. @@ - 93, 12 + 93, 12 @@ public class DateTimeSettings extends SettingsPreferenceFragment
  4. boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME);
  5. boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE);
  6. - mAutoTimePref = (SwitchPreference) findPreference(KEY_AUTO_TIME);
  7. + // mAutoTimePref = (SwitchPreference) findPreference(KEY_AUTO_TIME);
  8. DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context
  9. .DEVICE_POLICY_SERVICE);
  10. if (dpm.getAutoTimeRequired()) {
  11. - mAutoTimePref.setEnabled( false);
  12. + // mAutoTimePref.setEnabled(false);
  13. // If Settings.Global.AUTO_TIME is false it will be set to true
  14. // by the device policy manager very soon.
  15. @@ - 110, 7 + 110, 7 @@ public class DateTimeSettings extends SettingsPreferenceFragment
  16. mDummyDate = Calendar.getInstance();
  17. - mAutoTimePref.setChecked(autoTimeEnabled);
  18. + //mAutoTimePref.setChecked(autoTimeEnabled);

如果觉得还是不放心,可以直接禁止同步时间的服务

frameworks/base/services/java/com/android/server/SystemServer.java

在这里找到NetworkTimeUpdateService把相关代码注释掉就可以。



猜你喜欢

转载自blog.csdn.net/loongembedded/article/details/80973034