思路:
在開機時加載默認設置,加載默認設置的位置在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 文件夾刪除掉,然后重啟才會起作用。
在代碼中修改
如果需要在代碼中修改,可使用如下接口,不過必須是系統(tǒng)應用才有權限
需要的權限:
<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);