- 浏览: 217440 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (196)
- android (153)
- sqlite (1)
- java (3)
- os (4)
- tools (4)
- ResolveInfo 转 packageinf 取信息 (1)
- multimedia (2)
- fastboot (1)
- create user in samba (0)
- android qcn (0)
- windows (0)
- net (2)
- linux (1)
- git (0)
- proguard (0)
- android cpu (1)
- android gts (1)
- MySql (1)
- c/c++ (0)
- network (1)
- python (3)
- AI (1)
- Ultroedit (1)
- HarmonyOS NEXT (0)
1,开机不停震动
手机开机,马达一直震动,应该是uboot正常启动后,没有设置震动关闭
解决:在震动200ms后关闭马达
u-boot/property/normal_mode.c
void normal_mode(void)
{
//MMU_Init(CONFIG_MMU_TABLE_ADDR);
vibrator_hw_init();
set_vibrator(1);
udelay(200*1000);
set_vibrator(0);
...
}
2,关机震动时间设置
frameworks/base/core/java/com/android/internal/app/ShutdownThread.java中
private static final int SHUTDOWN_VIBRATE_MS = 500; //默认震动0.5秒,修改这个参数
3,设置系统默认音量
修改文件:frameworks/base/media/java/android/media/AudioManager.java
public static final int[] DEFAULT_STREAM_VOLUME = new int[] {
4, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
5, // STREAM_RING
11, // STREAM_MUSIC
6, // STREAM_ALARM
5, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
11, // STREAM_FM
11, // STREAM_DTMF
11, // STREAM_TTS
7 // STREAM_SYSTEM_ENFORCED
};
根据需要进行修改即可。
注意:如果在3rdparty里面有同名文件最好一起修改。
4,如何调节音量档位
需要根据自己的情况来调整index to volume的算法。
相关实现的模块是 AudioPolicy。基类 AudioPolicyManagerBase 文件位于
framework/base/services/audioflinger/AudioPolicyManagerBase.cpp
实现类 AudioPolicyManagerALSA,位于
external/sprd/alsa/alsa_sound/AudioPolicyManagerALSA.cpp
函数 computeVolume:
这个方法平台目前没有用子类实现,所以走的是基类方法。如果客户需要修改,建议在子类中重载这
个方法。
再讲下基类方法:
1 通过 index 算出一个百分比;
2 通过这个百分比经过一个对数转换换成音量的百分比;
3 特殊情况的一些转换;
修改建议是子类的方法应该调用基类的方法并且做微调。
比如对 1,将 index 到百分比的对应关系略微修改。
比如对 3,可以把基类方法处理的结果在根据需要调整。
5,电池相关
若手机界面的电池进度条显示不够准确,请根据实际测试值调整kernel\drivers\ power\charge.c 的voltage_capacity_table表格中的值 15%对应的是低电告警电压,而0%是自动关机电压。
电池的报警电压调整:frameworks\base\core\res\res\values\config.xml,
config_lowBatteryWarningLevel:15----->百分比,可以动态调整该数值来调整低电电压。
过压保护的逻辑在:
Kernel\drivers\power\sprd_power.c里
charge_handler()函数中有个battery_data->over_voltage用于电压保护逻辑。
这个数值的来源是Kernel\arch\arm\mach-sc8810\include\mach\chg_drvapi.h
#define OVP_OVER_VOL 6500
6,修改系统默认时间:
修改\idh.code\kernel\drivers\rtc\ rtc-sprd.c
static int __init sprd_rtc_init(void)
{
......
sec_2011_to_1970 = mktime(2011, 1, 1, 0, 0, 0);
return 0;
}
mktime函数的参数即是修改点。
同时还要同步修改闹钟时间,否则闹钟会有问题。
packages\apps\DeskClock\src\com\android\deskclock\Alarms.java
private static void alarm_flag_setup(final long alarmTimeInMillis) {
Calendar c = Calendar.getInstance();
c.set(2011, 0, 1, 0, 0, 0);//注意这里月份是0代表1月
......
7,如何设置版本号
定义 android 版本号的地方在 build/tools/buildinfo.sh 内,可以修改此文件。
ro.build.display.id=$BUILD_DISPLAY_ID 改为 ro.build.display.id= $BUILD_D ISPLAY_ID_CUSTOM, 然 后 在customize/custom_cfg/proj_name/res/boardconfig.mk
下 定 义 宏BUILD_DISPLAY_ID_CUSTOM 就可以为自己的项目定义版本号.
显示硬件版本在设置->关于手机->硬件版本里看到:
packages/apps/Settings/res/xml/device_info_settings.xml
<Preference android:key="hardware_number"
style="?android:preferenceInformationStyle"
android:title="@string/hard_version"
android:summary="1.1.0"/>
8,无接近传感器,如何在开始通话后关闭屏幕
在 Phone 应用的 phoneApp 这个类中。找到下边这段代码:
mProximityWakeLock =
pm.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, LOG_TAG);
然后注释掉。这个是获取了接近传感器的 WakeLock。然后在 updatePokeLock 这个方法中。将
//pokeLockSetting |= LocalPowerManager.POKE_LOCK_MEDIUM_TIMEOUT;
改为
pokeLockSetting |= LocalPowerManager.POKE_LOCK_SHORT_TIMEOUT;
将updateWakeState 方法中
setScreenTimeout(ScreenTimeoutDuration.DEFAULT);
改为
setScreenTimeout(ScreenTimeoutDuration.SHORT);
这个是将默认延时时间设置为SHORT(5秒)。如果需要改为其他时间需要去改 setScreenTimeout
这个方法。
9,ms,mms,contact 容量限制
[适用版本]2.3.5
1.只要在容量允许的情况下,sms,mms 接收条数是没有限制的,但是每个会话的条数是有限
制的,默认情况下,每个会话的短信限存 200 条,彩信限存 20 条,但是能调整到 5000 条。
MmsConfig.java 代码中做了如下限制:
private static int mDefaultSMSMessagesPerThread = 200;// default value
private static int mMinMessageCountPerThread = 2; // default value
private static int mMaxMessageCountPerThread = 5000; // default value
private static int mDefaultMMSMessagesPerThread = 20; // default value
2.contact 的记录总数目前没有限制。
10,单摄像头进入时间较长如何解决
在customize/customer_cfg/project.../kernel/camera/camera_cfg.c中main_sensor_infor_tab和sub_sensor_infor_tab里会放很多sensor的结构体;camera启动初始化时,底层驱动会匹配相关的菜单,删除没有的sensor,能加快启动
11,客户定制开/关机铃声
开机:替换 3rdparty/anim/poweranim/special/bin/startupsound
关机:替换 3rdparty/anim/poweranim/special/bin/shutdownsound
注:这里的startupsound/shutdownsound可以是mp3或者ogg格式的,替换时不需要扩展名
12,背光亮度,静音等默认值修改
修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xml中的默认值即可。
13,浏览器如何修改内置的“搜索引擎”
修改packages\apps\browser\res\values\donoottranslate-search_engines,xml文件,中
“search_engines”的string-arry中的item项即可。如下事例为内置了 139/百度/google 三个搜索引
擎。
<item>search139</item>
<item>baidu</item>
</string-array>
<item>google</item>
<string-array name="search_engines" translatable="false">
注意:如果支持多种语言,其他文件下的同名文件donoottranslate-search_engines,xml也需要
修改。
14,关机充电动画修改
关机充电动画的资源路径是:
external/sprd/charge/res/images/(展讯平台)
将这个目录下的 png 图片文件修改客户需要的文件就可以了。
15,如何设置默认动态壁纸
找到 /frameworks/base/core/res/res/values/config.xml 文件中
<string name="default_wallpaper_component">@null</string>
为设置默认壁纸的代码如若想要更换成为动态壁纸。只需将“@null”更改为动态壁纸的路径即可,例如:将默认壁纸更改为“线性光幕效果”的动态壁纸,则更改成如下代码:
<string name="default_wallpaper_component">com.android.wallpaper/com.android.wallpaper.nexus.NexusWallpaper</string>
com.android.wallpaper 在 AndroidManifest 文件中的 packagename
com.android.wallpaper.nexus.NexusWallpaper 在 AndroidManifest 文件中的 service name
需要注意的是:静态的图片壁纸和 live wallpaper 是两个系统,加载的时候是完全两套机制,静态图片
通过 launcher 里面的一个 xml 文件配置来管理系统默认静态壁纸,live wallpaper 则是通过 intent 机制向系统搜寻所有匹配 Activity,所以,这里的默认值为 null,而不是那个系统默认静态壁纸的地址,系统是读 config.xml 文件的设置,若为 null 才继续查找静态壁纸配置内容. 没有效果的话,恢复下出厂设置即可。
16,如何设置系统默认壁纸
如果只需要修改动态壁纸,替换 frameworks/base/core/res/res/drawable/default_wallpaper.jpg即可,或者在源码中修改对应 default_wallpaper地址。
17,关机菜单中如何添加重启选项
/frameworks/base/policy/src/com/android/internal/policy/impl/GlobalActions.java" 文件添加如下修改部分即可:
mItems = Lists.newArrayList(
// silent mode
mSilentModeToggle,
// next: airplane mode
mAirplaneModeOn,
new SinglePressAction(
com.android.internal.R.drawable.ic_lock_power_off,
R.string.global_action_power_off) {
public void onPress() {
// shutdown by making sure radio and power are handled accordingly.
ShutdownThread.shutdown(mContext, true);
}
public boolean showDuringKeyguard() {
return true;
}
public boolean showBeforeProvisioning() {
return true;
}
},
// add for reboot
new SinglePressAction(
com.android.internal.R.drawable.ic_lock_power_off, //替换成相应的图
R.string.global_action_power_off) { //替换成相应的提示文字
public void onPress() {
ShutdownThread.reboot(mContext, null, true);
}
public boolean showDuringKeyguard() {
return true;
}
public boolean showBeforeProvisioning() {
return true;
}
});
//end add
18 如何修改系统默认输入法
下面将以“谷歌拼音输入法”为例,进行解释和说明。
第一步 修改/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 添加如下代码:
<string name="config_default_input_method"
translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string>
com.android.inputmethod.pinyin 在 AndroidManifest 文件中的 packagename
.PinyinIME 在 AndroidManifest 文件中的service name
第二步:修改
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
在 private void loadSecureSettings(SQLiteDatabase db) 方法中,添加如下代码:
loadStringSetting( stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
R.string.config_default_input_method );
19,如何在桌面预置应用程序图标
桌面预制的图标:是在 launcher2 的 default_workspace.xml中配置的,文件路径:
Launcher2\res\xml\default_workspace.xml
20,添加搜索引擎
以添加139搜索引擎为例
a) 在packages/apps/Browser/res/values/all_search_engines.xml
<string-array name="search139" translatable="false">
<item>139</item>
<item></item>
<item>http://s.139.com/favicon.ico</item>
<item>http://s.139.com/search.do?q={searchTerms}&category=downloadable|web|browseable&tid=2123,2124,2125,2126&fr=portalcustom2</item>
<item>UTF-8</item>
<item></item>
</string-array>
这6个<item>从上到下依次表示显示标签,关键字,搜索图标,搜索引擎地址,编码方式,搜索提示地址。
b) 在packages/apps/Browser/res/values/donottranslate-search_engines.xml
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="search_engines" translatable="false">
<item>search139</item>
<item>baidu</item>
<item>google</item>
<item>yahoo</item>
<item>bing</item>
</string-array>
</resources>
在这边将139搜索引擎添加进来。
这边添加的搜索引擎是将1中的添加的搜索引擎变成设置中选择搜索引擎的选项。
21,修改 idle 界面搜索引擎的链接地址
packages/apps/quicksearchbox/res/values/strings.xml 下修改:
www.google.com为www.google.com.hk
22,linux下ADB安装后增加设备权限:
/etc/udev/rules.d/51-Android.rules
SUBSYSTEM=="usb", SYSFS{"huawei"}=="12d1", MODE="0666" //华为设备号
SUBSYSTEM=="usb", SYSFS{"Samsung"}=="04e8", MODE="0666" //三星设备号
23,Touchevent中,返回值是 true ,则说明消耗掉了这个事件,返回值是 false ,则没有消耗掉,会继续传递下去。
在 View 中跟 Touch 相关的事件有 dispatchTouchEvent , interceptTouchEvnet , onTouchEvent 三种。 dispatchTouchEvent 是负责分发事件的,事件从 activity 传递出来之后,最先到达的就是最顶层 view 的 dispatchTouchEvent ,然后它进行分发,如果返回 false ,则交给这个 view 的 interceptTouchEvent 方法来决定是否要拦截这个事件,如果 interceptTouchEvent 返回 true ,也就是拦截掉了,则交给它的 onTouchEvent 来处理,如果 interceptTouchEvent 返回 false ,那么就传递给子 view ,由子 view 的 dispatchTouchEvent 再来开始这个事件的分发。
如果事件传递到某一层的子 view 的 onTouchEvent 上了,这个方法返回了 false ,那么这个事件会从这个 view 往上传递,都是 onTouchEvent 来接收。而如果传递到最上面的 onTouchEvent 也返回 false 的话,这个事件就会“消失”,而且接收不到下一次事件。(一次事件指的是 down 到 up 之间的一系列事件)
From:http://blog.csdn.net/bmj/article/details/8649376
1.处理系统字体大小
Android系统中在Settings->Display->Font Size下面可以设置系统字体大小,默认的系统字体大小为Normal,如果想修改这个默认值,可以在下面这个文件中进行修改:
在alps/frameworks/base/core/java/android/content/res/Configuration.java文件中如下
public void setToDefaults() 这个方法中进行修改,
如果默认要改成特大字体,请改为1.15f,然后重新build framework.jar这个模块即可;
public void setToDefaults() {
fontScale = 1.15f; //normal value is 1
mcc = mnc = 0;
注意:Settings中系统的字体大小,在/packages/apps/Settings/res/values/arrays.xml文件中的
”entryvalues_font_size”这个tag中分别有定义对应的数值,
Small:0.9
Normal:1.0
Large:1.1
所以如果要修改默认值,直接在上面那个方法中修改fontScale 为对应的数值即可(注意带上f,表示为float类型)
System.getFloat(getContext().getContentResolver(), "font_scale");
手机开机,马达一直震动,应该是uboot正常启动后,没有设置震动关闭
解决:在震动200ms后关闭马达
u-boot/property/normal_mode.c
void normal_mode(void)
{
//MMU_Init(CONFIG_MMU_TABLE_ADDR);
vibrator_hw_init();
set_vibrator(1);
udelay(200*1000);
set_vibrator(0);
...
}
2,关机震动时间设置
frameworks/base/core/java/com/android/internal/app/ShutdownThread.java中
private static final int SHUTDOWN_VIBRATE_MS = 500; //默认震动0.5秒,修改这个参数
3,设置系统默认音量
修改文件:frameworks/base/media/java/android/media/AudioManager.java
public static final int[] DEFAULT_STREAM_VOLUME = new int[] {
4, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
5, // STREAM_RING
11, // STREAM_MUSIC
6, // STREAM_ALARM
5, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
11, // STREAM_FM
11, // STREAM_DTMF
11, // STREAM_TTS
7 // STREAM_SYSTEM_ENFORCED
};
根据需要进行修改即可。
注意:如果在3rdparty里面有同名文件最好一起修改。
4,如何调节音量档位
需要根据自己的情况来调整index to volume的算法。
相关实现的模块是 AudioPolicy。基类 AudioPolicyManagerBase 文件位于
framework/base/services/audioflinger/AudioPolicyManagerBase.cpp
实现类 AudioPolicyManagerALSA,位于
external/sprd/alsa/alsa_sound/AudioPolicyManagerALSA.cpp
函数 computeVolume:
这个方法平台目前没有用子类实现,所以走的是基类方法。如果客户需要修改,建议在子类中重载这
个方法。
再讲下基类方法:
1 通过 index 算出一个百分比;
2 通过这个百分比经过一个对数转换换成音量的百分比;
3 特殊情况的一些转换;
修改建议是子类的方法应该调用基类的方法并且做微调。
比如对 1,将 index 到百分比的对应关系略微修改。
比如对 3,可以把基类方法处理的结果在根据需要调整。
5,电池相关
若手机界面的电池进度条显示不够准确,请根据实际测试值调整kernel\drivers\ power\charge.c 的voltage_capacity_table表格中的值 15%对应的是低电告警电压,而0%是自动关机电压。
电池的报警电压调整:frameworks\base\core\res\res\values\config.xml,
config_lowBatteryWarningLevel:15----->百分比,可以动态调整该数值来调整低电电压。
过压保护的逻辑在:
Kernel\drivers\power\sprd_power.c里
charge_handler()函数中有个battery_data->over_voltage用于电压保护逻辑。
这个数值的来源是Kernel\arch\arm\mach-sc8810\include\mach\chg_drvapi.h
#define OVP_OVER_VOL 6500
6,修改系统默认时间:
修改\idh.code\kernel\drivers\rtc\ rtc-sprd.c
static int __init sprd_rtc_init(void)
{
......
sec_2011_to_1970 = mktime(2011, 1, 1, 0, 0, 0);
return 0;
}
mktime函数的参数即是修改点。
同时还要同步修改闹钟时间,否则闹钟会有问题。
packages\apps\DeskClock\src\com\android\deskclock\Alarms.java
private static void alarm_flag_setup(final long alarmTimeInMillis) {
Calendar c = Calendar.getInstance();
c.set(2011, 0, 1, 0, 0, 0);//注意这里月份是0代表1月
......
7,如何设置版本号
定义 android 版本号的地方在 build/tools/buildinfo.sh 内,可以修改此文件。
ro.build.display.id=$BUILD_DISPLAY_ID 改为 ro.build.display.id= $BUILD_D ISPLAY_ID_CUSTOM, 然 后 在customize/custom_cfg/proj_name/res/boardconfig.mk
下 定 义 宏BUILD_DISPLAY_ID_CUSTOM 就可以为自己的项目定义版本号.
显示硬件版本在设置->关于手机->硬件版本里看到:
packages/apps/Settings/res/xml/device_info_settings.xml
<Preference android:key="hardware_number"
style="?android:preferenceInformationStyle"
android:title="@string/hard_version"
android:summary="1.1.0"/>
8,无接近传感器,如何在开始通话后关闭屏幕
在 Phone 应用的 phoneApp 这个类中。找到下边这段代码:
mProximityWakeLock =
pm.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, LOG_TAG);
然后注释掉。这个是获取了接近传感器的 WakeLock。然后在 updatePokeLock 这个方法中。将
//pokeLockSetting |= LocalPowerManager.POKE_LOCK_MEDIUM_TIMEOUT;
改为
pokeLockSetting |= LocalPowerManager.POKE_LOCK_SHORT_TIMEOUT;
将updateWakeState 方法中
setScreenTimeout(ScreenTimeoutDuration.DEFAULT);
改为
setScreenTimeout(ScreenTimeoutDuration.SHORT);
这个是将默认延时时间设置为SHORT(5秒)。如果需要改为其他时间需要去改 setScreenTimeout
这个方法。
9,ms,mms,contact 容量限制
[适用版本]2.3.5
1.只要在容量允许的情况下,sms,mms 接收条数是没有限制的,但是每个会话的条数是有限
制的,默认情况下,每个会话的短信限存 200 条,彩信限存 20 条,但是能调整到 5000 条。
MmsConfig.java 代码中做了如下限制:
private static int mDefaultSMSMessagesPerThread = 200;// default value
private static int mMinMessageCountPerThread = 2; // default value
private static int mMaxMessageCountPerThread = 5000; // default value
private static int mDefaultMMSMessagesPerThread = 20; // default value
2.contact 的记录总数目前没有限制。
10,单摄像头进入时间较长如何解决
在customize/customer_cfg/project.../kernel/camera/camera_cfg.c中main_sensor_infor_tab和sub_sensor_infor_tab里会放很多sensor的结构体;camera启动初始化时,底层驱动会匹配相关的菜单,删除没有的sensor,能加快启动
11,客户定制开/关机铃声
开机:替换 3rdparty/anim/poweranim/special/bin/startupsound
关机:替换 3rdparty/anim/poweranim/special/bin/shutdownsound
注:这里的startupsound/shutdownsound可以是mp3或者ogg格式的,替换时不需要扩展名
12,背光亮度,静音等默认值修改
修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xml中的默认值即可。
13,浏览器如何修改内置的“搜索引擎”
修改packages\apps\browser\res\values\donoottranslate-search_engines,xml文件,中
“search_engines”的string-arry中的item项即可。如下事例为内置了 139/百度/google 三个搜索引
擎。
<item>search139</item>
<item>baidu</item>
</string-array>
<item>google</item>
<string-array name="search_engines" translatable="false">
注意:如果支持多种语言,其他文件下的同名文件donoottranslate-search_engines,xml也需要
修改。
14,关机充电动画修改
关机充电动画的资源路径是:
external/sprd/charge/res/images/(展讯平台)
将这个目录下的 png 图片文件修改客户需要的文件就可以了。
15,如何设置默认动态壁纸
找到 /frameworks/base/core/res/res/values/config.xml 文件中
<string name="default_wallpaper_component">@null</string>
为设置默认壁纸的代码如若想要更换成为动态壁纸。只需将“@null”更改为动态壁纸的路径即可,例如:将默认壁纸更改为“线性光幕效果”的动态壁纸,则更改成如下代码:
<string name="default_wallpaper_component">com.android.wallpaper/com.android.wallpaper.nexus.NexusWallpaper</string>
com.android.wallpaper 在 AndroidManifest 文件中的 packagename
com.android.wallpaper.nexus.NexusWallpaper 在 AndroidManifest 文件中的 service name
需要注意的是:静态的图片壁纸和 live wallpaper 是两个系统,加载的时候是完全两套机制,静态图片
通过 launcher 里面的一个 xml 文件配置来管理系统默认静态壁纸,live wallpaper 则是通过 intent 机制向系统搜寻所有匹配 Activity,所以,这里的默认值为 null,而不是那个系统默认静态壁纸的地址,系统是读 config.xml 文件的设置,若为 null 才继续查找静态壁纸配置内容. 没有效果的话,恢复下出厂设置即可。
16,如何设置系统默认壁纸
如果只需要修改动态壁纸,替换 frameworks/base/core/res/res/drawable/default_wallpaper.jpg即可,或者在源码中修改对应 default_wallpaper地址。
17,关机菜单中如何添加重启选项
/frameworks/base/policy/src/com/android/internal/policy/impl/GlobalActions.java" 文件添加如下修改部分即可:
mItems = Lists.newArrayList(
// silent mode
mSilentModeToggle,
// next: airplane mode
mAirplaneModeOn,
new SinglePressAction(
com.android.internal.R.drawable.ic_lock_power_off,
R.string.global_action_power_off) {
public void onPress() {
// shutdown by making sure radio and power are handled accordingly.
ShutdownThread.shutdown(mContext, true);
}
public boolean showDuringKeyguard() {
return true;
}
public boolean showBeforeProvisioning() {
return true;
}
},
// add for reboot
new SinglePressAction(
com.android.internal.R.drawable.ic_lock_power_off, //替换成相应的图
R.string.global_action_power_off) { //替换成相应的提示文字
public void onPress() {
ShutdownThread.reboot(mContext, null, true);
}
public boolean showDuringKeyguard() {
return true;
}
public boolean showBeforeProvisioning() {
return true;
}
});
//end add
18 如何修改系统默认输入法
下面将以“谷歌拼音输入法”为例,进行解释和说明。
第一步 修改/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 添加如下代码:
<string name="config_default_input_method"
translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string>
com.android.inputmethod.pinyin 在 AndroidManifest 文件中的 packagename
.PinyinIME 在 AndroidManifest 文件中的service name
第二步:修改
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
在 private void loadSecureSettings(SQLiteDatabase db) 方法中,添加如下代码:
loadStringSetting( stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
R.string.config_default_input_method );
19,如何在桌面预置应用程序图标
桌面预制的图标:是在 launcher2 的 default_workspace.xml中配置的,文件路径:
Launcher2\res\xml\default_workspace.xml
20,添加搜索引擎
以添加139搜索引擎为例
a) 在packages/apps/Browser/res/values/all_search_engines.xml
<string-array name="search139" translatable="false">
<item>139</item>
<item></item>
<item>http://s.139.com/favicon.ico</item>
<item>http://s.139.com/search.do?q={searchTerms}&category=downloadable|web|browseable&tid=2123,2124,2125,2126&fr=portalcustom2</item>
<item>UTF-8</item>
<item></item>
</string-array>
这6个<item>从上到下依次表示显示标签,关键字,搜索图标,搜索引擎地址,编码方式,搜索提示地址。
b) 在packages/apps/Browser/res/values/donottranslate-search_engines.xml
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="search_engines" translatable="false">
<item>search139</item>
<item>baidu</item>
<item>google</item>
<item>yahoo</item>
<item>bing</item>
</string-array>
</resources>
在这边将139搜索引擎添加进来。
这边添加的搜索引擎是将1中的添加的搜索引擎变成设置中选择搜索引擎的选项。
21,修改 idle 界面搜索引擎的链接地址
packages/apps/quicksearchbox/res/values/strings.xml 下修改:
www.google.com为www.google.com.hk
22,linux下ADB安装后增加设备权限:
/etc/udev/rules.d/51-Android.rules
SUBSYSTEM=="usb", SYSFS{"huawei"}=="12d1", MODE="0666" //华为设备号
SUBSYSTEM=="usb", SYSFS{"Samsung"}=="04e8", MODE="0666" //三星设备号
23,Touchevent中,返回值是 true ,则说明消耗掉了这个事件,返回值是 false ,则没有消耗掉,会继续传递下去。
在 View 中跟 Touch 相关的事件有 dispatchTouchEvent , interceptTouchEvnet , onTouchEvent 三种。 dispatchTouchEvent 是负责分发事件的,事件从 activity 传递出来之后,最先到达的就是最顶层 view 的 dispatchTouchEvent ,然后它进行分发,如果返回 false ,则交给这个 view 的 interceptTouchEvent 方法来决定是否要拦截这个事件,如果 interceptTouchEvent 返回 true ,也就是拦截掉了,则交给它的 onTouchEvent 来处理,如果 interceptTouchEvent 返回 false ,那么就传递给子 view ,由子 view 的 dispatchTouchEvent 再来开始这个事件的分发。
如果事件传递到某一层的子 view 的 onTouchEvent 上了,这个方法返回了 false ,那么这个事件会从这个 view 往上传递,都是 onTouchEvent 来接收。而如果传递到最上面的 onTouchEvent 也返回 false 的话,这个事件就会“消失”,而且接收不到下一次事件。(一次事件指的是 down 到 up 之间的一系列事件)
From:http://blog.csdn.net/bmj/article/details/8649376
1.处理系统字体大小
Android系统中在Settings->Display->Font Size下面可以设置系统字体大小,默认的系统字体大小为Normal,如果想修改这个默认值,可以在下面这个文件中进行修改:
在alps/frameworks/base/core/java/android/content/res/Configuration.java文件中如下
public void setToDefaults() 这个方法中进行修改,
如果默认要改成特大字体,请改为1.15f,然后重新build framework.jar这个模块即可;
public void setToDefaults() {
fontScale = 1.15f; //normal value is 1
mcc = mnc = 0;
注意:Settings中系统的字体大小,在/packages/apps/Settings/res/values/arrays.xml文件中的
”entryvalues_font_size”这个tag中分别有定义对应的数值,
Small:0.9
Normal:1.0
Large:1.1
所以如果要修改默认值,直接在上面那个方法中修改fontScale 为对应的数值即可(注意带上f,表示为float类型)
System.getFloat(getContext().getContentResolver(), "font_scale");
发表评论
-
Android SnappyDB
2018-05-15 11:23 1001https://blog.csdn.net/qq_214305 ... -
使用UncaughtExceptionHandler保存全局异常(转)
2018-05-07 15:04 674From: https://blog.csdn.net/dre ... -
android udp
2018-04-10 19:47 631Android之Socket的基于UDP传输 接收方创建步骤: ... -
android DownloadManager
2018-04-10 12:52 626From: https://www.jianshu.com/p ... -
Snackbar 可以交互的Toast
2018-04-08 21:44 800Snackbar 是 Android design sup ... -
android 操作串口
2018-03-19 18:20 693http://blog.csdn.net/akunainian ... -
proguard对 android-support-v4.jar 的配置
2018-03-16 15:32 747-libraryjars libs/android-sup ... -
apk 多个dex
2018-03-16 10:05 1034android studio 配置应用生成多个dex ... -
ddmlib 解决android n file explorer 为空问题
2018-03-16 09:27 973百度云:http://pan.baidu.com/s/1sl4 ... -
android 代码混淆
2018-03-15 08:38 1082打开混淆开关 Android.mk ... -
menu item 显示icon
2018-03-07 09:32 714@Override public boolean onMenu ... -
ubuntu 脚本切换root用户,并执行其它脚本
2018-03-05 09:58 0#!/bin/bash expect -c" ... -
DrawerLayout 滑动侧边栏
2018-03-01 10:42 0// TODO -
jack-server 多用户编译问题
2018-02-27 10:44 14183),需要同时修改 $HOME/.jack-server/co ... -
更新eclipse 遇到两个问题 Oxygen.2 Release (4.7.2)
2018-02-26 14:28 12501. the file dx.jar was not load ... -
监听系统开关变化
2018-02-05 14:02 823// 转屏开关 /** * Content obse ... -
android 8.0 模块编译命令
2018-02-02 14:42 1186Invoke ". build/envsetup.s ... -
svn checkout 忽略某个文件夹
2018-01-26 11:14 1380android源码更新时, frameworks\compil ... -
eclipse jni
2018-01-19 16:10 501试过,可以运行 http://blog.csdn.net/sb ... -
opencv for android
2018-01-19 14:37 456http://blog.csdn.net/sbsujjbcy/ ...
相关推荐
在"shiro管理多登录入口配置,手机端登录与网页端登录"这个场景下,我们需要考虑如何为不同的登录入口(手机端和网页端)设置独立的验证流程。 首先,Shiro 的核心组件 Realm 负责与应用数据源交互,验证用户身份。...
通过对手机配置的数据分析,我们可以了解到一些关键的趋势和用户偏好。以下是基于标题“手机配置数据分析报告1”和描述中提到的内容,以及标签“数据分析”所提炼出的几点重要知识点。 首先,麒麟系列和骁龙系列CPU...
在这个手机配置检测工具中,JS文件可能包含获取手机硬件信息的代码,如使用微信小程序的API调用`wx.getSystemInfo`,并处理检测结果,更新到对应的WXML节点。 4. **JSON文件**:配置文件,定义页面的全局属性,如...
部分高端智能手机配置有气压传感器,用于测量环境中的气压变化,从而推算出手机所在位置的大致海拔高度,有助于提高GPS定位的精度。温度传感器用于监测手机内部温度,包括电池温度,避免过热造成设备损坏。三星...
【安卓开发Xposed修改手机各项配置源码(AS版)】是针对Android系统进行深度定制和功能增强的技术,其中Xposed框架是核心。Xposed是一个在Android系统层面运行的框架,它允许开发者编写模块来改变系统的各个方面,...
这可能是一个与手机QQ语音识别功能相关的文件,用于处理和存储用户的语音输入数据。在现代移动应用中,语音识别技术广泛应用于搜索、聊天、命令执行等多个场景,使得用户可以通过语音交互更便捷地操作手机QQ。这个...
硬件配置上,小米手机搭载了高通MSM 8260双核1.5GHz处理器,GPU为Adreno 220,这为手机提供了强大的处理性能。内存配置为1GB RAM+4GB ROM,同时支持MicroSD卡扩展,最大可达32GB,满足了用户对于存储的需求。电池...
《公司员工手机配置与使用管理办法》应运而生,它不仅是对员工使用公司资源的一种约束,更是一种提升企业运营效率和服务水平的管理策略。通过对主管级别及以上员工以及部分业务需要的员工进行手机卡的规范配发和使用...
Delphi 10 Android 开发环境配置 Delphi 10 Android 开发环境配置是指在 Delphi 10 环境下进行 Android 应用...通过配置环境变量、检测是否安装成功和解决常见的问题,可以成功地配置 Delphi 10 Android 开发环境。
本节我们将探讨“手机安全卫士(3)——获取服务器更新配置”这一主题,这涉及到应用如何通过网络与远程服务器进行通信,以获取最新的安全策略和更新数据。 首先,我们需要理解的是Android应用程序如何进行网络通信...
- 在开始处理JAR文件之前,用户应根据自己的手机型号和配置进行设置。例如,设置合适的MIDP和CLDC版本,屏幕分辨率,内存限制等。 - 设置也可能包括对Java安全级别、数据连接类型(GPRS、EDGE或WAP)的设定,以及...
在进入Android手机开发环境配置的过程中,首先需要理解的是Android是一个基于Linux内核的开源操作系统,主要用于移动设备,如智能手机和平板电脑。为了在个人计算机上进行Android应用开发,我们需要搭建一个完整的...
配置过程大同小异,主要步骤包括开启Wi-Fi、查找网络、输入认证信息以及处理服务器证书。对于不同品牌和型号的手机,如诺基亚、HTC、三星、摩托罗拉等,尽管具体界面可能有所不同,但基本的配置流程是相似的。 总的...
MTK(MediaTek)手机软件系统工程和配置是一个深度集成的、复杂的流程,主要服务于国内手机设计和制造厂商。MTK基于Nucleus实时操作系统,并通过内核抽象层封装,使其能适应Oscar、ThreadX和Nucleus等多种实时操作...
为了帮助您轻松应对这些挑战,《HUAWEI 5G基站常见故障处理指导书》应运而生,旨在为您提供从基础知识到实际操作的全方位指导。 本书为您精心设计了一条系统化的学习路径,从基础知识开始,逐步深入到5G基站维护的...
MTK(MediaTek)手机软件系统是众多国内手机设计和制造商首选的完整手机产品解决方案,因其庞大和复杂性,对于初次接触的工程师来说,理解和配置可能会遇到挑战。本文主要介绍了MTK软件系统的工程结构和配置,旨在...
- 显卡的加入使得该配置可以处理更复杂的图形渲染任务。 #### 配置三:高性能游戏入门配置 - **CPU**: AMD X2-280 - **主板**: GA-780T-D3L - **内存**: 4GB DDR3 1333MHz - **硬盘**: 500GB - **显卡**: GT630-D5 ...
本文将详细介绍如何在Android平台上安装并配置Moodle的手机版。在进行这个过程时,我们需要了解一些基本的移动应用开发知识,特别是针对Android系统的应用安装和配置步骤。 首先,由于“源码”标签的提及,我们可以...
在Android平台上,获取手机配置信息是一项常见的任务,这有助于开发者了解设备硬件和软件的状态,以优化应用性能或提供个性化服务。以下将详细解释如何通过Android系统API获取这些信息。 首先,我们可以利用`Build`...