- 博客(47)
- 收藏
- 关注
原创 system_server NE问题分析
有台手机出现频繁上层重启问题,开机后不操作,放在桌子上不动,过一会就会发生FW重启,然后重复,查看log,发现是发生了system_server的NE问题,从Log看如下:[log analysis]01-27 11:41:19.553 5376 5376 F DEBUG : pid: 1404, tid: 2453, name: Binder:1404_7 >>> s...
2018-06-26 17:02:37
1875
转载 Android rotation 转屏过程分析
http://blog.csdn.net/yunnywucy/article/details/40045839转屏的代码逻辑主要在WMS(窗口管理)这一块。整个转屏过程可以分为以下几个步骤:1。计算出屏幕的下一个rotation;2。window 重新布局计算3。下面是调用的流程图 一
2015-10-08 14:15:05
7525
原创 偶发性的camera等应用的菜单键,后退键不起作用的问题
在某些低内存的设备上,会偶尔出现菜单键,后退键不起作用的问题,有很大的可能是因为输入法因为低内存被杀死了导致的,可以用如下方法修正。--- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -3647,7 +3647,7 @@ public f
2014-02-12 14:13:29
1276
转载 android 4.X上偶尔出现的多个system_server进程的解决办法
在android 4.X中有时候会出现多个system_server进程,会导致系统内存占用急速增加,系统性能下降的情况,可以尝试如下修正方法:--- java_lang_ProcessManager.cpp +++ java_lang_ProcessManager_new.cpp @@ -23,7 +23,7 @@ #include #include #inc
2014-01-22 10:20:15
2089
原创 高通平台短信复制到sim卡流程
ComposeMessageActivity.java->copyToSim()->MSimSmsManager.copyMessageToIcc()->MSimIccSmsInterfaceManagerProxy.copyMessageToIccEf()->MSimIccSmsInterfaceManagerProxy.copyMessageToIccEf()->IccSmsInterface
2013-11-08 17:27:28
1819
原创 android耳机插入\拔出事件上报流程
kernel发现有设备状态变动后发送uevent到WiredAccessoryObserver.java:WiredAccessoryObserver.java->onUEvent()->updateState()->update()->mHandler.handlemessage()->setDevicesState()->setDevicesState()->mAudioManager.s
2013-11-08 17:23:27
4795
原创 android蓝牙搜索新设备时动态添加设备
开始搜索的地方在:BluetoothSettngs.java->startScanning(),后面就是调用到蓝牙的底层去了。发现以后,会发送一个ACTION_FOUND广播,到了BluetoothEventManager.java里面,由DeviceFoundHandler()来处理,DeviceFoundHandler()->dispatchDeviceAdded()然后就到了De
2013-09-18 17:55:32
1134
原创 默认返回键和home键按键无声音解决
1, in phonewindowmanager.java->interceptKeyBeforeQueueing(): if (down && ((keyCode == KeyEvent.KEYCODE_HOME)||(keyCode == KeyEvent.KEYCODE_BACK)||....................)){ if(the sound is enable){
2013-09-18 17:52:52
2890
原创 ContentObserver回调与ContentProvider注册notifychange
为什么数据改变后会回调至ContentObserver ? 为什么我们自定义的ContentProvider数据源发生改变后,却没有监听到任何反应 ? 这与系统的回调系统逻辑有关。 每个ContentProvider数据源发生改变后,如果想通知其监听对象, 例如ContentObserver时,必须在其对应方法 update / insert / delete时,显式
2013-08-26 15:17:09
4166
原创 APN参数设置地方
apn的参数最有效的方法是咨询当地的运营商也可以从下面的文件中查看是否已经包括了: Apns-conf.xml (device\generic\goldfish\data\etc) Apns-full-conf.xml (device\sample\etc) Apns.xml (frameworks\base\core\res\res\xml)
2013-08-26 10:47:13
1870
原创 android音乐播放器有时查询不到音乐的问题
碰到个问题,进入音乐播放器1.正在播放界面,长按专辑/艺术家/歌曲-》选择音乐2.音乐列表界面,选择一首音乐长按-》搜索-》音乐3.音乐播放器任意界面,点击搜索键,输入字符进行搜索三种情况下都为“未搜索到结果"。 对搜索过程进行分析,发现最后调用到了MediaProvider.java中的doAudioSearch(): for (int i = 0; i
2013-07-29 13:21:45
2307
原创 android音乐文件乱码显示问题解决
在android中利用音乐播放器播放音乐时,有时会发现歌曲名称,歌手名称,专辑名称等会有乱码,其实这是在音乐文件扫描的过程中解码不正确造成的,采用下面的代码应该可以修正大部分类似的问题:in MediaScannerClient.cppvoid MediaScannerClient::endFile(){if (mLocaleEncoding != kEncodingNone) {i
2013-07-29 11:30:56
5430
原创 android中Bluetooth属性获取代码分析
1 Bluetooth属性获取流程在BluetoothAdapterProperties.java中,有一个Map类型的变量:mPropertiesMap,该变量中就保存着当前运行中蓝牙的所有的属性值。所有需要读取当前蓝牙属性的地方都需要从该变量中获得。而该变量的值有两种获得方法,一个是直接从Kernel中读取,另外一种是由驱动上报属性值的变动,然后由Framework层进行获取。1
2013-07-29 10:08:07
8888
原创 android 来电大头贴显示流程
来电呼入时的各种信息显示都是在CallCard.java中实现的,其中的updateDisplayForPerson是主角。updateDisplayForPerson会根据电话的当前状态来更改名字号码等信息的显示。图片的替换代码如下:ContactsAsyncHelper.startObtainPhotoAsync(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE,
2013-07-29 09:55:06
1133
原创 android 卸载SD卡后图库读取不到内部存储卡的图片
很简单就可以fix,查看\packages\providers\MediaProvider\src\com\android\providers\media\MediaScannerReceiver.java文件,其中在onReceive方法中scan(context, MediaProvider.EXTERNAL_VOLUME)语句的前面的if判断中添加一个|| action.equals(Int
2013-07-16 11:01:28
1778
原创 android邮箱的subject有时候部分字符显示乱码的解决方案
android中的邮件乱码,很多是因为截取造成的。\packages\apps\Email\emailcommon\src\org\apache\james\mime4j\decoder\DecoderUtil.java中的 decodeEncodedWords方法。可以通过如下方法修改来fix:body =body .replace(" ", "");if(body.conta
2013-07-16 09:49:59
1651
原创 插入某电信卡运营商名称不显示的问题
当手机插入 某些国外的小运营商SIM卡时,在下拉栏中打开数据连接,运营商名称显示为空。原因就是在MSimTelephonyManager.getDefault().getSimOperatorName(index);时取得为空,所以显示为空: public String getSimOperatorName(int subscription) { String alpha =
2013-06-20 14:31:48
8278
转载 Android SystemProperties设置/取得系统属性的用法总结(转)
http://blog.csdn.net/ameyume/article/details/80564921.Android SystemProperties简介介绍了设置属性需要的权限,已经设置权限的方法。Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用。其实用java的反射机制是可以使用
2013-06-06 11:26:28
2562
转载 分析Power key的处理流程
http://blog.csdn.net/pillarbuaa/article/details/7634591orks/base/policy/src/com/android/internal/policy/impl/phon1. Power key的处理文件 kernel/drivers/input/misc/ab8500-ponkey.c2. Camera,volume key
2013-05-25 10:34:54
4082
原创 自建项目push后再pull报The remote end hung up unexpectedly问题解决
当git clone之后,直接git pull它会自动匹配一个正确的remote url是因为在config文件中配置了以下内容:[branch "master"] remote = origin merge = refs/heads/master表明:1.git处于master这个branch下时,默认的remote就是origin;
2013-05-22 18:26:47
16830
转载 PendingIntent用法
http://hack-zhang.iteye.com/blog/1416405 pendingIntent字面意义:等待的,未决定的Intent。 要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int), getBroadcast(Context, i
2013-05-22 14:24:27
5370
转载 各分辨率的对照表
WVGA854: 854*480 WVGA800: 800*480 HVGA: 480*320 QVGA: 320*240 WQVGA432:432*240 WQVGA400:400*240
2013-05-22 11:20:06
6389
转载 textview字体样式
http://blog.csdn.net/tody_guo/article/details/7483890import java.io.IOException;import org.xmlpull.v1.XmlPullParserException;import android.app.Activity;import android.content.res.Col
2013-05-22 11:19:17
672
转载 Android Camera调用流程
Android中Camera的调用流程可分为以下几个层次:Package->Framework->JNI->Camera(cpp)--(binder)-->CameraService->Camera HAL->Camera Driver以拍照流程为例:1. 各个参数设置完成,对焦完成后,位于Package的Camera.java会调用Framework中Camera.java的ta
2013-05-22 11:08:35
776
原创 android 横竖屏调整分析
屏幕横竖屏切换的设置是在packages/apps/Settings下的DisplaySettings.java中定义的,代码如下:public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { if (preference == mAccelero
2013-04-26 11:31:23
1670
原创 android声音调整源代码分析
android调整音量方法有两种,一种是渐进式,即像手动按音量键一样,一步一步增加或减少,另一种是直接设置音量值. 下面先分析第一种渐进式的:AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);public void adjustStreamVolume (int streamTy
2013-04-13 11:25:38
6228
转载 Android属性build.prop生成过程分析
本文简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product//system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / SystemProperties_
2013-03-19 09:33:18
901
转载 android 颜色大全
转载出处:http://blog.csdn.net/yanzi1225627/article/details/7783821颜色代码大全 AA 指定透明度。 00 是完全透明。 FF 是完全不透明。超出取值范围的值将被恢复为默认值。 ffff00ffff33ffff66ffff99
2013-03-08 11:34:13
1104
转载 小Baby学说话的几个阶段
一般来说,孩子学说话的过程分为五个阶段:1岁以前:模仿声音 1-1.5岁:开始能说出几个特殊的字词,但是对语法还不懂 1.5-2岁:词汇量开始增加,甚至能说出句子 2-2.5岁:能更清晰的表达意思,用更准确的词,语法也开始形成 2.5岁以后: 学会表达顺序和因果
2013-03-08 11:29:21
881
原创 android Launcher onLongClick代码分析
在launcher中,长按桌面会触发很多种行为。其分类包括:1、空白桌面;2、桌面内容(文件夹、快捷方式、文件夹等);3、桌面既有控件(左右两个屏幕切换按钮,all app list按钮)等;因此我们很容易理解Launcher.java文件中onLongClick函数的行为: public boolean onLongClick(View v) { switch (v.ge
2013-03-08 10:45:09
1785
原创 android系统开发中个人小问题汇总
1,开机不停震动手机开机,马达一直震动,应该是uboot正常启动后,没有设置震动关闭解决:在震动200ms后关闭马达u-boot/property/normal_mode.cvoid normal_mode(void){//MMU_Init(CONFIG_MMU_TABLE_ADDR);vibrator_hw_init();set_vibrator(1);
2013-03-08 10:08:04
3626
转载 android语言设置
Android系统原版默认的语言为英文,而我们定制系统可能需要用户一开机就是简体中文。我们可以通过修改系统属性来达到默认语言的作用。这里有两种方法,需要的可以借鉴下:1、在init.rc或者在其他的开机初始化文件如:default.prop中加入如下设置系统属性的代码:[html] view plaincopy[persist.sys
2012-06-13 15:08:34
3569
转载 Android Settings中的默认设置
Android Settings中的默认设置(1)应用能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的frameworks/base/packages/SettingsProvider/res/values/defaults.xml这个文件就是用来存储600000设置关屏超时时间的默认值102 设置
2012-06-13 15:02:41
13428
原创 android系统属性设置(通过代码设置和手动设置)
编译后的android系统属性build.prop,所在位置:out\target\product\kylin\system\build.prop。在代码中进行设置,可以通过frameworks/base/core/java/android/os/SystemProperties.java的接口定义来进行: private static native String native_ge
2012-06-13 09:41:24
2750
原创 android自定义开机动画文件存放位置
android自定义的开关机动画一般默认存放在system/media下,不过也有可能存放在别的地方,然后在编译的时候通过脚本拷贝到system/media下。这种情况下只能通过搜索来确定文件在什么地方。开关机动画文件默认的保存文件名为:bootanimation.zip,只要找到这个文件,就找到了开关机动画了。至于开关机动画的制作,那又是另外的事情了。
2012-06-09 13:07:00
9275
原创 Ubuntu上安装webgit并配置
与使用git命令查看日志相比较,通过gitweb来查看代码修改更加直观、也更为便利,特别是在本地查看自己的项目git树相应的变化等。要使用gitweb,可以通过如下步骤来安装:(1)安装Apache网络服务器sudo apt-get install apache2(2)安装Gitweb$ sudo apt-get install gitwebgitweb.cgi 脚本安装在
2012-06-08 11:37:56
2511
原创 Android全部源码导入Eclipse
1,将Eclipse工程配置文件复制到Android源码根目录 Android的Eclipse配置文件存放在源码目录下的development/ide/eclipse/.classpath路径下,将其复制到Android源码的根目录中。2,修改Eclipse程序的配置 (1)修改Eclipse的缓存设置 把eclipse.ini文件的3个值改为下面的值:
2012-06-08 09:46:17
13702
原创 解决Ubuntu下新建文档时模板未安装问题
解决方法:1.进入$HOME下文件夹 templates(默认情况下应该时有的,如没有,请新建一个)。2.在文件夹内,新建一个文件,如 newdoc.doc,或者text.txt等等。3.修改 $HOME/.config/user-dirs.dirs把 XDG_TEMPLATES_DIR 赋值新建的文件夹路经,如XDG_TEMPLATES_DIR=$HOME
2012-06-08 09:23:23
2950
1
转载 ubuntu下利用SSH登录git(转载)
1. 生成 SSH 公钥每个需要使用git服务器的工程师,自己需要生成一个ssh公钥进入自己的~/.ssh目录,看有没有用 文件名 和 文件名.pub 来命名的一对文件,这个 文件名 通常是 id_dsa 或者 id_rsa。 .pub 文件是公钥,另一个文件是密钥。假如没有这些文件(或者干脆连 .ssh 目录都没有),你可以用 ssh-keygen 的程序来建立它们,该程序在 Lin
2012-06-04 16:17:59
8144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人