最近做android9.0系统相关的定制工作,用户反馈时间设置中的自动使用24小时制没效果,亲自试了下确实时间显示的格式没变,于是一脸蒙逼。网上查了有人问相同的问题,不过也没有确切的答案,可能是android9.0刚刚出来没多久,国内使用的还不多的原因吧。于是找到了相关的源码如下:
控制的相关类主要是在AutoTimeFormatPreferenceController.java和TimeFormatPreferenceController.java中:
AutoTimeFormatPreferenceController.java
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (!(preference instanceof TwoStatePreference)
|| !TextUtils.equals(KEY_AUTO_24_HOUR, preference.getKey())) {
return false;
}
boolean auto24HourEnabled = ((SwitchPreference) preference).isChecked();
Boolean is24Hour;
if (auto24HourEnabled) {
is24Hour = null;
} else {
is24Hour = is24HourLocale(mContext.getResources().getConfiguration().locale);
}
TimeFormatPreferenceController.update24HourFormat(mContext, is24Hour);
retur