思路:
在开机时加载默认设置,加载默认设置的位置在SettingsProvider里面,所以主要是修改SettingsProvider
步骤:
- 添加配置选项
位置:frameworks\base\packages\SettingsProvider\res\values\defaults.xml
添加代码:
<string name="time_12_24" translatable="false">24</string>
- 加载配置选项
位置:frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java的loadSystemSettings()方法中添加如下代码:
//默认24小时格式 loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.time_12_24);
- 替换APK
替换apk后,需要将data/data/ 目录下面的com.android.provider.setting 文件夹删除掉,然后重启才会起作用。
在代码中修改
如果需要在代码中修改,可使用如下接口,不过必须是系统应用才有权限
需要的权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
获取和设置时间格式的代码如下:
//获取 Settings.System.getString(mContext.getContentResolver(), Settings.System.TIME_12_24); //设置 fomat为"12"或者"14" Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24, format);