1.设置菜单:

1.1位置信息(Location)默认关闭:

请将

alps\frameworks\base\packages\SettingsProvider\res\values\default.xml

中的

<string name="def_location_providers_allowed" translatable="false">gps</string>

修改为

<string name="def_location_providers_allowed" translatable="false"></string>

然后重新build ,format 手机,download新的image测试。

1.2默认系统时间的修改(请区别于RTC时间)

首先找到vendor\mediatek\proprietary\frameworks\base\res\res\values下的2个xml文件,

symbols.xml,config.xml,.

2个文件分辨定义了默认时间的key和值,默认只定义了年分,可以自行添加月,日,时,分,秒。

如:

symbols.xml

<java-symbol type="string" name="config_mm_package_name" />
<java-symbol type="integer" name="default_restore_year" />
<java-symbol type="integer" name="default_restore_month" />
<java-symbol type="integer" name="default_restore_day" />
<java-symbol type="integer" name="default_restore_hour" />
<java-symbol type="integer" name="default_restore_minute" />
<java-symbol type="integer" name="default_restore_second" />

config.xml

<!-- default year for first power on-->
<integer name="default_restore_year">2015</integer>
<!-- default month for first power on-->
<integer name="default_restore_month">0</integer>
<!-- default day for first power on-->
<integer name="default_restore_day">1</integer>
<!-- default hour for first power on-->
<integer name="default_restore_hour"></integer>
<!-- default minute for first power on-->
<integer name="default_restore_minute"></integer>
<!-- default second for first power on-->
<integer name="default_restore_second"></integer>

具体设置生效是在JAVA类里面实现,请看NetworkTimeUpdateService.java,位于framework/base/services下面:

Time today = new Time(Time.getCurrentTimezone());
today.setToNow();
Log.d(TAG, "First boot:" + tempString + " with date:" + today);
today.set(mDefaultDay, mDefaultMonth, mDefaultYear);

mDefaultDay,mDefaultMonth,mDefaultYear即是通过上述XML文件得到的值,可以发现这个set有个带6个参数的重载方法,正是此方法可以精确到秒,自行尝试吧。

注意:today.set(mDefaultDay, mDefaultMonth, mDefaultYear)此句是我修改过的,源码是today.set(1, 0, mDefaultYear),0代表January。

2.Launcher:

当有多个launcher可供选择时,默认选择某个launcher,而不弹出选择框。

修改ActivityManagerService.java的startHomeActivityLocked方法:

boolean startHomeActivityLocked(int userId, String reason) {

if (mFactoryTest == FactoryTest.FACTORY_TEST_LOW_LEVEL
&& mTopAction == null) {
// We are running in factory test mode, but unable to find
// the factory test app, so just sit around displaying the
// error message and don't try to start anything.
return false;
} /**
* mtk add
* set default launcher
*/ ComponentName DefaultLauncher=new ComponentName("com.android.launcher3","com.android.launcher3.Launcher"); //此处设置默认Launcher的包名和类名
//Slog.d(TAG,"set default launcher");
final PackageManager mPm = mContext.getPackageManager();
ArrayList<ResolveInfo> homeActivities = new ArrayList<ResolveInfo>();
ComponentName currentDefaultHome = mPm.getHomeActivities(homeActivities); ComponentName[]mHomeComponentSet = new ComponentName[homeActivities.size()];
for (int i = 0; i < homeActivities.size(); i++) {
final ResolveInfo candidate = homeActivities.get(i);
//Slog.d(TAG,"homeActivities"+candidate);
final ActivityInfo info = candidate.activityInfo;
ComponentName activityName = new ComponentName(info.packageName, info.name);
mHomeComponentSet[i] = activityName;
}
IntentFilter mHomeFilter = new IntentFilter(Intent.ACTION_MAIN);
mHomeFilter.addCategory(Intent.CATEGORY_HOME);
mHomeFilter.addCategory(Intent.CATEGORY_DEFAULT);
List<ComponentName>Activities=new ArrayList();
mPm.replacePreferredActivity(mHomeFilter, IntentFilter.MATCH_CATEGORY_EMPTY,mHomeComponentSet, DefaultLauncher); /**
* set default launcher end
*/ Intent intent = getHomeIntent();
ActivityInfo aInfo =
resolveActivityInfo(intent, STOCK_PM_FLAGS, userId);
......

PS:

1.如果用户在设置->应用程序->管理应用程序->所有应用程序列表,找到之前设置的默认Launcher,并取消了默认值,系统会重新弹出launcher选择框。但重启后会进入上述代码设置的默认Launcher。

2.如果用户在设置->主屏幕中修改了默认的Launcher,下次重启后将进入修改后的Launcher

3.Settings:

设置下的一些默认值不是在xml修改,就是在SettingsProvider下的DataHelper.java下修改,loadSettings方法

4.相机:

常用的设置方法:SettingDataBase下找到DEFAULT_VALUE_FOR_SETTING_ID,更改对应ID的XML文件值.

5.音乐播放器:

1.均衡器(Equalizer)相关:ControlPanelEffect.java相关定义和代码修改

MTK Android 默认值修改笔记的更多相关文章

  1. 如何修改mtk android 默认拍照size

    [DESCRIPTION] 修改默认拍照size [SOLUTION] 修改默认的capture size,改变camera feature table的FID_CAP_SIZE default值不起 ...

  2. [插件]jQuery multiselect初始化及默认值修改

    下载地址:http://pan.baidu.com/s/1dE2daSD 1.Jquery多选下拉列表插件jquery multiselect功能介绍及使用 http://www.jb51.net/a ...

  3. myeclipse下拷贝的项目,tomcat下部署名称和导出为war包的名称默认值修改

    拷贝一个项目,作为一个新的项目,给它换了名字,这时候默认的部署名称等都是原来项目的,这时候要在属性里面修改一下.

  4. oracle 以及 sql server mysql 空值默认值修改

    在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...

  5. python 在调用时计算默认值

    大家都知道python的默认值是在函数定义时计算出来的, 也就是说默认值只会计算一次, 之后函数调用时, 如果参数没有给出,同一个值会赋值给变量, 这会导致, 如果我们想要一个list默认值, 新手通 ...

  6. MySQL5.7中的sql_mode默认值

    简介 在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本.作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode 默认值的改变 optimizer_switc ...

  7. 修改Android默认背光值

    /********************************************************************* * 修改Android默认背光值 * 说明: * 本文主要 ...

  8. 使用Kotlin开发Android应用(III):扩展函数和默认值

    通过前面两篇文章,我们学习了Kotlin的基本知识,并知道如何配置工程,本文将接着介绍Java没有的而Kotlin实现了的有趣的特性.记住当你对Kotlin语言有任何疑问时,请参考官方指南.该指南组织 ...

  9. Android默认输入法语言的修改以及SettingsProvider作用

    Android源码中默认的有三种输入法:英文,中文,日文.对应的工程代码路径为:<android_root>/packages/inputmethods/LatinIME/<andr ...

随机推荐

  1. (推荐)jquery.pagination.js分页

    序言 本来想自己对这个分页使用做一些总结的,但发现大神们已经总结的很好了.所以给推荐一下. 转自:http://www.cnblogs.com/knowledgesea/archive/2013/01 ...

  2. java web 组件Listenter(一)

    JavaWeb中监听器的事件源(ServletContext.HttpSession.ServletRequest.JavaBean) 1.ServletContext 生命周期监听:ServletC ...

  3. h.264 Bi-Predictive Motion Search

    在做B帧的运动预测时,有两组参考图像列表(refList0, refList1),需要进行分别前向预测.后向预测.传统的预测方式是: 对refList0进行前向预测,得到最佳前向ref与mv. 对re ...

  4. COJ 0986 WZJ的数据结构(负十四) 区间动态k大

    题解:哈哈哈我过了!!!主席树+树状数组写起来还真是hentai啊... 在这里必须分享我的一个沙茶错!!!看这段代码: void get(int x,int d){ ]=root[x];x;x-=x ...

  5. uboot mkimage使用详解

    mkimage使用详解uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件. mkimage在制作映象文件的时候,是在原来的可执行映象文件的 ...

  6. Java中的不可变类

    概念:不可变类的意思是创建该类的实例后,该实例的属性是不可改变的.java中的8个包装类和String类都是不可变类.所以不可变类并不是指该类是被final修饰的,而是指该类的属性是被final修饰的 ...

  7. wxPython跨线程调用

    版权所有,转载请注明出处:http://guangboo.org/2013/08/23/wxpython-non-gui-thread-call-gui-method 之前有介绍了<wxPyth ...

  8. [置顶] VB 中chr(10)、chr(13)和vblf、vbcr、vbcrlf的分别

    1.共同点: chr(10):换行,相当于VBLF chr(13):回车,相当于VBCR chr(13)+chr(10):回车+换行,相当于VBCRLF cr是回车,只有回车,是到本行的最头上:lf是 ...

  9. Citrix 服务器虚拟化之十八 桌面虚拟化之部署MCS随机桌面池

    Citrix 服务器虚拟化之十八  桌面虚拟化之部署MCS随机桌面池 完成桌面模版的制作后,可以开始虚拟桌面池的发布 说明: 环境基于实验十七 1.登录DC服务器创建一个组织单位名为Citrix,然后 ...

  10. python:redis简单操作

    一,安装redis-py pip install redis easy_install redis 二,简单用法 import redis # 连接redis服务器 def conn_redis(): ...