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. 解决mongodb ISODate相差8小时问题

    服务端使用mongoose操作mongodb,其中Schema中的日期字段定义如下: date: {type:Date, default:Date.now},//操作日期 插入到mongodb中adt ...

  2. 网站安全分析:恶意DOS脚本日志分析报告

    http://www.chinaz.com/web/2012/0820/270205.shtml http://www.searchdatacenter.com.cn/showcontent_5817 ...

  3. 突然间,对JAVA也找到点感觉了。

    书上没有那段代码,我自己修修补补弄完全了呢.... 就是感觉体系有点宏大,不要急,慢慢玩~!~~ 这个世界很精彩哟~~: QuizCard.java package QuizCard.sky.com; ...

  4. SlidingMenu和ActionBarSherlock结合滑动式菜单都

    https://github.com/jfeinstein10/SlidingMenu http://actionbarsherlock.com/ SlidingMenu 的demo工程引用了Acti ...

  5. 199bit总结的影响最大的十个算法

    1. 归并排序(MERGE SORT).快速排序(QUICK SORT)和堆积排序(HEAP SORT) 哪个排序算法效率最高?这要看情况.这也就是我把3种算法放在一起讲的原因,可能你更常用其中一种, ...

  6. 最近点对问题 HDU Quoit Design 1007 分治法

    #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #i ...

  7. 2013=12=2 bitree

    #include "stdio.h" #include "stdlib.h" #define OVERFLOW -1 #define ERROR -1 #def ...

  8. Android新浪微博客户端(七)——ListView中的图片异步加载、缓存

    原文出自:方杰|http://fangjie.info/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54 该项目代码已经放到git ...

  9. Android新浪微博客户端(六)——Home界面的ListView

    原文出自:方杰|http://fangjie.info/?p=184转载请注明出处 最终效果演示:http://fangjie.info/?page_id=54该项目代码已经放到github:http ...

  10. Tomcat启动时报错:java.net.BindException: Permission denied <null>:80 【转载】

    本文转载自: http://blog.sina.com.cn/s/blog_4550f3ca0101g37l.html   问题起因:做负载均衡时需要将Web工程与Wap工程同时部署在一台Suse服务 ...