由于项目需要,要将Android系统的12小时的时间格式修改为默认为是24小时的时间格式。
android系统第一次开机决定系统的时间格式的代码在frameworks层的SettingsProvider应用中。
1.在defaults.xml中添加相应代码。
在frameworks\base\packages\SettingsProvider\res\values\defaults.xml文件中添加 一行
<string name="def_time_12_24" translatable="false">24</string>
其中,24表示时间格式是24小时的如果 写成12就表示时间格式是12小时的。当然写12就没必要了因为android系统默认就是12小时格式的。
2.在DatabaseHelper.java中添加相应代码。
在frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
文件中找到loadSystemSettings()函数,在这个函数里添加一行
loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.def_time_12_24);
这样就将android系统的时间格式为12小时的改为时间格式为24小时的了。
注意:Settings.System.TIME_12_24是在frameworks/base/core/java/android/provider/Settings.java
中定义的:
/**
* Display times as 12 or 24 hours
* 12
* 24
*/
public static final String TIME_12_24 = "time_12_24";
由此可以看出保存在settings.db中的列明为time_12_24。
3.验证
有两种验证的方法:
1.修改后替换到Settingprovider.apk 后需要将data/data/ 下面 com.android.provider.setting 把此文件夹删除掉。因为里面有以前的默认数据缓存在这个文件里面的。
2.恢复出厂设置。