9820E平台-Android默认配置24小时制

简介: 笔记

修改步骤


Android系统默认是12小时制度的,现将它修改为24小时制。

一、修改默认配置文件

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

添加配置

<string name="time_12_24">24</string>

time_12_24字符串是在SettingsProvider目录下Settings.java中定义的。


二、数据库加载

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

找到private void loadSystemSettings(SQLiteDatabase db) 方法,在该方法中添加

loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.time_12_24);


三、测试

重新编译mm,将生成的SettingsProvider.apk安装到测试机

注意,只替换SettingsProvider模块,需要删除旧的数据库,否则数据库不会重新加载!

adb root
adb remount
adb push xxx/SettingsProvider.apk system/priv-app
adb shell
#rm -rf data/data/com.android.providers.settings/databases/
#reboot

测试代码:

String value = Settings.System.getString(context.getContentResolver(),
        Settings.System.TIME_12_24);


PS

android数据库中的load字段的方法是类型对应的,defaults.xml中定义的是<string name="time_12_24">24</string> ,这是一个string,就必须调用loadStringSetting,如果用loadIntSetting的话就加载不到了,显然24和"24"对java来说是一样可以强转的。其他类型也一样,需要一一对应


修改记录


diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 4de559e9..3b4185c5 100755
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -17,6 +17,7 @@
  */
 -->
 <resources>
+    <string name="time_12_24">24</string>
     <bool name="def_dim_screen">true</bool>
     <integer name="def_screen_off_timeout">60000</integer>
     <integer name="def_button_light_off_timeout">1500</integer>
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 88fbce2f..28a294fe 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -1966,6 +1966,8 @@ public class DatabaseHelper extends SQLiteOpenHelper {
         try {
             stmt = db.compileStatement("INSERT OR IGNORE INTO system(name,value)"
                     + " VALUES(?,?);");
+            //set default time foramt--bianjb        
+            loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.time_12_24);
             loadBooleanSetting(stmt, Settings.System.DIM_SCREEN,
                     R.bool.def_dim_screen);


目录
相关文章
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
32 0
|
2天前
|
运维 网络协议 Linux
Android 双网卡配置为连接到Android主机的PC提供外网访问(1)
Android 双网卡配置为连接到Android主机的PC提供外网访问(1)
14 0
|
3天前
|
Android开发
Android 动态修改参数配置
Android 动态修改参数配置
11 0
|
1月前
|
运维 监控 Java
应用研发平台EMAS产品常见问题之安卓构建版本失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
1月前
|
运维 监控 Android开发
应用研发平台EMAS常见问题之安卓push的离线转通知目前无法收到如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
25 1
|
3月前
|
编解码 测试技术 开发工具
如何实现Android视音频数据对接到GB28181平台(SmartGBD)
如何实现Android视音频数据对接到GB28181平台(SmartGBD)
|
3月前
|
开发工具 Android开发
Android平台RTMP推送|轻量级RTSP服务|GB28181设备接入模块之实时快照保存JPG还是PNG?
Android平台RTMP推送|轻量级RTSP服务|GB28181设备接入模块之实时快照保存JPG还是PNG?
|
3月前
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
103 0
|
3月前
|
API Android开发
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
78 3
|
4月前
|
开发工具 Android开发 开发者
Android 项目编译 Gradle 配置说明
Android 项目编译 Gradle 配置说明
151 0