Androidシステムが初めてオンになったときにシステムの時間形式を決定するコードは、フレームワークレイヤーの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時間であることを意味します。Androidシステムのデフォルトは12時間形式です。
2. DatabaseHelper.javaに対応するコードを追加します。
フレームワーク\ベース\パッケージ\ SettingsProvider \ src \ com \ android \ provider \ 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.検証
2つの検証方法があり
ます。1. Settingprovider.apkを変更して置き換えた後、data / data / com.android.provider.settingの下にあるこのフォルダーを削除する必要があります。このファイルには、以前のデフォルトデータがキャッシュされているためです。
2.工場出荷時の設定に戻します。