自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 双camera同时打开

平台:android5.1 场景:客户的设备需要使用到双屏异显。分析双屏异显时,framework所做的准备。 时间:2016.9.28Android从4.2开始支持双屏异显,其Java使用示例代码如下:1.如何获取设备上的屏幕? DisplayManager mDisplayManager;//屏幕管理类 Display[] displays;//屏幕数组 mDis

2017-01-21 11:57:28 8073 3

原创 基于Android5.1的双屏异显分析

平台:android5.1 场景:客户的设备需要使用到双屏异显。分析双屏异显时,framework所做的准备。 时间:2016.9.28Android从4.2开始支持双屏异显,其Java使用示例代码如下:1.如何获取设备上的屏幕? DisplayManager mDisplayManager;//屏幕管理类 Display[] displays;//屏幕数组 mDis

2017-01-21 11:41:23 13326 1

原创 基于Android5.1双APN的实现---接上篇

双APN

2017-01-21 10:57:18 8788

原创 Android多APN同时工作原理分析

平台:android5.1 场景:客户使用运营商的流量卡,希望多路APN同时工作。 时间:2016.7.1了解了Mms的机制,发现其发送彩信时,使用的是另一路APN。因此以此为追踪入口。 MmsNetworkManager.java >>>connectivityManager.requestNetwork( mNetworkRequest, mNet

2016-07-22 18:02:07 13292 2

原创 AndroidManifest中android:persistent属性研究

平台:android4.0 场景:处理一个项目的时候,发现客户内置的一个music相关的apk每次都开机自动启动,同时在eclipse里面如何stop或者是调用killAllBackgroundProcesses()方法都无法停止此apk。 时间:2013.3反编译apk,发现其AndroidManifest.xml文件中有一个类似如下描述: <application android:na

2015-12-16 17:14:50 12537 2

原创 修改Launcher应用程序列表的背景

平台:Android4.1 场景:Launcher的应用程序列表默认是黑色背景,客户要求将其修改为WallPaper背景。 时间:2013.3在Launcher中,我们通常称为桌面的是Workspace,应用程序列表对应的是AppsCustomizeTabHost。 现要求将其背景与当前的墙纸同步,并有一定的灰度。 根据之前的经验,从Workspace到AppsCustomizeTabHos

2015-12-16 16:29:50 1332

转载 Launcher上定制默认文件夹以及URL

平台:Android4.0 场景:无 时间:2013.1http://blog.sina.com.cn/s/blog_89f592f501013b2a.html http://www.2cto.com/kf/201206/134100.html默认文件夹 在xml/default_workspace.xml中添加: <folder launcher:container

2015-12-15 16:39:39 1406

转载 用户空间第一个程序Init

平台:Android4.0 场景:针对老邓第一本Android书的学习总结。 时间:2012.9以下内容主要来自对老邓第一本Android书的总结。http://www.cnblogs.com/hangxin1940/archive/2011/10/14/2206754.htmlinit为android用户空间的第一个程序,其实现代码主要是在system/core/init/init.c中。因

2015-12-15 16:30:38 769

转载 PowerManagerService学习笔记

平台:Android4.0 场景:PMS是framework中相对简单明了的service,学习老邓第二本android书籍。 时间:2012.8.8以下大部分内容摘抄于老邓第二本android书籍。1.在PMS的init()函数中,将创建两个HandlerThread对象。一个为mScreenOffThread,用于调节关闭屏幕时的亮度的渐变过程。另一个为PMS的主要工作线程——mHandle

2015-07-21 19:09:09 665

转载 MediaScanner学习笔记

平台:android2.3 场景:基于android2.3的HIFI项目,对于歌曲的专辑信息等无法识别,需要研究一下MediaScanner并添加修改相关内容。 时间:2012.7.6下文大部分内容是摘抄老邓的第一本android书籍而来。1.在MediaScannerReceiver的onReceive()函数中,接收三种请求,其对应的实际操作调用在MediaScannerService的工作

2015-07-21 17:42:08 1336

原创 媒体库扫描某些文件出现乱码的问题

平台:android4.0 场景:客户反馈部分中文歌曲的ID3信息显示为乱码。 时间:2012.6参考网址:http://bbs.chinaunix.net/thread-3777433-2-1.html将android系统语言设置为英文后,把一首包含中文的ID3信息的歌曲拷贝到机器中,可能在播放此歌曲时看到ID3信息是乱码。 当以下两个条件同时出现时,在android系统上将必定出现此问题:

2015-07-09 17:15:15 1595

转载 关于RTC引起的待机功耗的问题

平台:android4.0 场景:客户测试反应,机器开着wifi的情况下,待机一晚上后电量消耗的很多。 时间:2012.9.5查看客户提供的log发现,每隔6分钟系统会被唤醒一次。通过dumpsys alarm查看:ELAPSED_WAKEUP #0: Alarm{41189630 type 2 com.android.phone} type=2 when=+2m50s514ms repeat

2015-07-09 16:49:20 2072

原创 Input系统学习笔记

平台:android2.2 场景:全键盘电子书项目需要为系统新增需要按键,同时对于一些touch事件需要做特殊的处理,所以需要对整个input进行一些了解。 时间:2011.12~2012.31.为系统添加新的硬件按键。(http://www.eefocus.com/chongzi865458/blog/11-06/225120_23131.html) 物理键盘的按键响应,能够被上层应用所接收

2015-07-08 18:27:36 578

转载 Vold学习笔记

本文主要参考学习了老邓的Vold章节。平台:android4.0 场景:客户要求系统默认对NTFS的SD卡支持识别。 时间:2012.7.28Android系统默认支持FAT文件系统,不支持NTFS,EXFAT。其原因不在于技术方面,而是版权。 在全志的平台上,以上文件系统都是支持的。所以在做分析时,也参考了全志平台的做法。vold是Volume Daemon的简称,其是用于管理和控制andr

2015-07-08 17:40:25 1297

原创 4.0默认menu弹出实现研究

平台:android4.0 场景:刚步入android4.0,客户反馈launcher默认的弹出menu与2.3不一样,同时要求将menu的高度进行微调。 时间:2012.5.30在2.3系统上,在launcher界面上点击menu按键,会弹出带有Icon的菜单栏。此时,在系统中使用的是IconMenuView。而在同样的场景下操作,在4.0系统上,弹出的是ListMenuView。 若在应用

2015-06-18 17:48:39 924

转载 setContentView()如何区别加载layout文件

转载链接: http://www.cnblogs.com/melaniedeng/archive/2012/05/17/2506869.html这里以ICS上在Activity的onCreate()方法里面调用setContentView(int resourceID)为例,介绍一下系统如何根据我们的id(R.layout.xxxx)找到合适的layout文件进行解析加载:如果你的res下面有三种

2015-06-18 17:38:18 446

原创 平板实现app2sd功能

平台:android4.0 场景:平板上都默认不插入SD卡,所以会将mnt/sdcard指向flash上分出来的某个块,即使默认的app2sd功能存在,也是一个假象。 时间:2012.5.25android在2.2后开始支持,专门在vold里面添加了const char *Volume::SEC_STGDIR = “/mnt/secure/staging”。 单独讨论手机的情况,手机的SD卡对

2015-06-18 16:57:35 764

原创 系统多Launcher的情况下,强制启动指定Launcher

平台:Android4.0 场景:客户内置了一个Launcher程序,要求与系统Launcher同时存在,并且第一次开机时,直接启动并显示客户Launcher。 时间:2012.5.20前提: 正常系统中,若存在多个launcher,第一次刷机后,将不会进入到其中某一个,而会让客户去选择需要使用的launcher。现在需要在第一次刷机后,将其中某一个launcher设置为默认的,并显示出来。

2015-04-23 18:21:41 2117 4

原创 Preinstall功能解析

平台:Android4.0 场景:全志方案上的preinstall的解析。 时间:2012.6.20在A13的4.0平台上,在init.rc文件的最后有这样一段代码 service preinstall /system/bin/busybox sh /system/bin/preinstall.sh user root group root disabled oneshot 此处定义

2015-04-22 20:12:18 8020

原创 MediaScanner添加对多种音频文件ID3信息的保存支持

平台:Android2.3 场景:Hifi播放器,在原生系统的基础上需要添加对各种类型的音频文件的ID3信息扫描,保存,显示。 时间:2012.3.30首先android系统已经支持了大部分经常使用的音频文件的ID3信息的解码。在2.2系统以后,其使用的是google提供的stagefright。 在Java层,mediascaaner对应的程序是在packages\providers\Med

2015-04-22 17:15:00 976

原创 Android开机速度优化

开机速度优化 主要关注当Java世界起来以后(即zygote起来之后)的开机速度优化。 从zygote到home显示的过程中,有如下几个耗时的过程: 1.preload-class。 2.scan package。 3.SystemServer进程中创建并加载系统服务。 4.home程序以及部分随机启动的程序的启动。对于以上四个耗时的过程,我在这里提出几个问题: 1.prelo

2015-04-20 20:14:26 2978

原创 SeekBar平滑滚动修改

平台:Android2.3 场景:Hifi播放器,使用原生的SeekBar进行音量的调节,是一种音量骤变的效果(从50点到200,50->200值的跳变)。这样的用户体验有些糟糕。所以客户需求,调节音量时,当值的设定跨度很大时,采用平滑渐进的设定方式,即50,52,54,,,,200. 时间:2011.11.15前提: 1.采用了定制组件+Apk响应的实现方式2.需求主要分为: 1).音量平

2015-04-18 18:37:54 2659

原创 ListView去滑动效果

平台:Android2.1 场景:Eink电子书项目,滑动效果会严重影响屏幕的刷新显示。 时间:2011.8.24前提: 1.ListView继承与AbsListView,主要实现代码都在AbsListView中。2.其onTouchEvent()函数,对滑动动作做了设置和响应。原理是根据手指在屏幕上的滑动,计算出移动距离,如果足够,则触发滑动。当滑动时,又根据滑动的快慢,计算出滑动的速度值,

2015-04-18 15:59:55 427

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除