修改Settings源码,可修改系统设置项,Settings数据被存放于com.android.providers.settings/databases/settings.db中,如果想修改系统启动后加载的默认值

一种方法是直接修改settings.db的值,另一种就是修改SettingsProvider默认值,Settings应用能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的,那么第一次开机的时候这些数据都是从哪儿来的呢?

frameworks/base/packages/SettingsProvider/res/values/defaults.xml这个文件就是用来存储Android系统的默认设置

例如:
<integername="def_screen_off_timeout">600000</integer>设置关屏超时时间的默认值
<integername="def_screen_brightness">102</integer>设置亮度的默认值

<boolname="def_install_non_market_apps">false</bool>设置是否允许安装非Market应用程序的默认值

如果想定义defaults.xml中没有的,在这里添加后,需修改frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,加入自己的存储代码。

来电铃声:SD卡ringtones文件下, 支持音频文件(MP3、wav、ogg等格式)。
通知铃声:SD卡notifications,支持音频文件(MP3、wav、ogg等格式)。
闹钟铃声:SD卡alarms,支持音频文件(MP3、wav、ogg等格式)。
 附:系统自带铃声文件位置
      来电铃声:/system/media/audio/ringtones
      通知铃声:/system/media/audio/notifications
      闹钟铃声:/system/media/audio/alarms
      界面操作事件音:/system/media/audio/ui

转:

http://www.cnblogs.com/sardine

/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
/packages/wallpapers/Basic/src/com/android/wallpaper/nexus/NexusWallpaper.java
/frameworks/base/core/res/res/values/config.xml/mediatek/config/xxx/ProjectConfig.mk
BOOT_LOGO = wvga

开关机和关机充电图
/mediatek/custom/common/uboot/logo/wvga

/packages/apps/Launcher2/res/values/wallpapers.xml
/packages/apps/Launcher2/res/drawable-mdpi/wallpaper_architecture.jpg
/packages/apps/Launcher2/res/drawable-mdpi/wallpaper_architecture_small.jpg
Launcher2 里面预置桌面上的 Item
/packages/apps/Launcher2/res/xml/default_workspace.xml

铃声位置
/frameworks/base/data/sounds/newwavelabs/Backroad.ogg

 
 

   Android系统默认的语言是英语,但是对于中国大陆Android产品厂商来说,不会出厂之后语言还是英语,到用户手里之后,用户自己设置成简体中文吧?有如果客户不懂英语,岂不是就不能设置系统语言了?所以把Android系统出厂设置为简体中文对于Android系统产品化非常重要。这里只是举个例子,相同的,设置为其他语言也如出一辙。当然不是让产线手动设置,如果是这样,这篇文章也就失去了它的本意了。设置语言的原理很简单,可以通过修改系统属性来达到默认语言的作用。

这里有两种方法,需要的可以借鉴下:

1、在init.rc或者在其他的开机初始化文件中加入如下设置系统属性的代码:

  [persist.sys.language]: [zh]

  [persist.sys.country]: [CN]

  [persist.sys.localevar]: []

  [persist.sys.timezone]: [Asia/Shanghai]

  [ro.product.locale.language]: [zh]

  [ro.product.locale.region]: [CN]

2、编译的时候,通过指明编译参数为简体中文,这样编译传统就会编译出来的系统属性文件,在

系统初始化的时候将会把上面的属性给进行正确的初始化,例如:

  make PRODUCT-machineID-eng-zh_CN

Android系统默认设置的更多相关文章

  1. 通过settings.db自定义Android系统默认设置

    Android的系统设置数据存放在/data/data/com.android.providers.settings/databases/settings.db 中 数据库结构如下: 数据库中的默认数 ...

  2. MTK framework系统默认设置

    Android 5.1 最新framework系统默认设置 一般默认位置:frameworks\base\packages\SettingsProvider\res\values\defaults.x ...

  3. 高速改动android系统默认日期方法

    高速改动android系统默认日期方法 在android系统的设备上,都有一个默认的開始日期,看过非常多设备,有些设备在没有联网的时候没有同步到系统时间的时候,竟然默认的还是1970年的日期.也见过有 ...

  4. Android源码分析(九)-----如何修改Android系统默认时间

    一 : 修改Android系统默认时间 源码路径:frameworks/base/services/java/com/android/server/SystemServer.java 主要变量EARL ...

  5. Android系统默认语言改为中文

    第一种方法: 修改 build/tools/buildinfo.sh echo "ro.product.locale.language=zh"echo "ro.produ ...

  6. Android 系统默认参数的修改

    转自: http://www.th7.cn/Program/Android/201505/447097.shtml 写在前面的话 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置, ...

  7. Android系统中设置TextView的行间距(非行高)

    Android系统中TextView默认显示中文时会比较紧凑,不是很美观.为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacin ...

  8. Android系统默认Home应用程序(Launcher)的启动过程源码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...

  9. Android系统默认Home应用程序(Launcher)的启动过程源代码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home ...

随机推荐

  1. Sublime 的中文乱码问题

    Sublime Text 是现在最受欢迎的文本编辑器,没有之一.它非常简洁,而且对各种代码的高亮显示很美观.但是,它默认不支持 GBK.Shift-JIS 等中文.日本编码格式,故打开此类文件会出现乱 ...

  2. php的session.serialize_handler

    php里面的session.serialize_handler用来设置php的session的序列化方式,默认值为php,及使用php的序列化与反序列化. 还有一个值为session.serializ ...

  3. HDU1010 Tempter of the Bone

    解题思路:相当经典的一题,回溯,具体细节处理见代码. #include<cstdio> #include<cstring> #include<algorithm> ...

  4. 【解题报告】[动态规划] RQNOJ PID106 / 最大加权矩形

    原题地址:http://www.rqnoj.cn/problem/106 解题思路: 一维的情况下求最大字串和的状态转移方程是:s[i]=max{s[i-1]+a[i],a[i]} 二维的情况下,只要 ...

  5. 【转】iOS开发UI篇—iPad和iPhone开发的比较

    原文网址:http://www.cnblogs.com/wendingding/p/3918007.html iOS开发UI篇—iPad和iPhone开发的比较 一.iPad简介 1.什么是iPad ...

  6. Swift语法

    Swift语法 标签(空格分隔): Swift 1.打印输出语句 println("Hello, Swift!") 注意每行代码后面无需添加分号作为结束 2.简单值 let---常 ...

  7. 解决键盘上符号打出来的和标着的不一样的错误&不能用ctrl+space切换输入法错误

    0.右键输入法栏,点设置 1.增加”美式键盘“ 2.切换“默认键盘”为美式 3.删除“英式键盘” 4.高级键设置,改为ctrl+space

  8. eclipse插件explorer安装使用

    我们知道myeclipse有个open in explorer的按钮.可以方便我们打开任意IDC下的文件或则插件目录 但是eclipse下确没有.因此需要下载下载个eclipse explorer插件 ...

  9. delphi中通过CreateOleObject操控Word

    http://blog.csdn.net/csm2432/article/details/7692443

  10. Getting and installing the PEAR package manager

    Windows After you have downloaded and installed PHP, you have to manually execute the batch file loc ...