framework
文章平均质量分 83
liu149339750
这是我的笔记!
展开
-
SystemUI->截屏
在PhoneWindowManager中处理组合键事件,原理:按下音量-时延迟响应事件,在这个延迟时间内如果power键也被按了,并且等两个按键按下的时间都超过一定值时就开始处理截屏流程。 private void takeScreenshot() { synchronized (mScreenshotLock) { if (mScreenshot原创 2016-03-01 17:04:31 · 2558 阅读 · 0 评论 -
SystemUI新增快捷方式
以网格快捷设置栏为例,在makeStatusBarView()方法中 mQS = new QuickSettingsController(mContext, mSettingsContainer, this, Settings.System.QUICK_SETTINGS_TILES, false);如上第4个原创 2016-03-01 11:14:35 · 1625 阅读 · 3 评论 -
SMS注册与接收短信
在Android4.0中,Phone应用的Application类PhoneApp的onCreate方法中调用了 PhoneFactory.makeDefaultPhones(this);而在4.2中此方法被移到了PhoneGlobals中,PhoneGlobals类继承自ContextWrapper。原创 2016-02-29 18:57:08 · 4840 阅读 · 0 评论 -
Gallery2 让图库不显示bmp格式图片
1.让不能得到bmp格式图片在LocalAlbum类的构造中修改查询的条件,由mWhereClause = ImageColumns.BUCKET_ID + " = ?";改为mWhereClause = ImageColumns.BUCKET_ID + " = ? And "+ImageColumns.MIME_TYPE+" != 'image/x-ms-bmp' "再修改AndroidMa原创 2016-02-29 18:52:55 · 1064 阅读 · 0 评论 -
MMS存储与显示
1.存彩信NotificationTransaction.java 是自动下载彩信的类,在下载完所有数据后调用解析GenericPdu pdu = new PduParser(retrieveConfData).parse();GenericPdu中有PduBody,PduBody中有PduPart,解析时把字符内容存成字节数组,没做字符编码。之后调用原创 2016-02-29 18:52:16 · 578 阅读 · 0 评论 -
Policy->锁屏
开机会调用SystemServer的main方面启动安卓app层,在此方法内调用initAndLoop()初始化各个Manager,各个系统设置从此开始,比如:disableTelephony初始化WindowManagerService,调用systemReady()在WindowManagerService中WindowManagerPolicy mPolicy = PolicyMan原创 2016-02-29 18:49:27 · 878 阅读 · 0 评论 -
SystemUi->虚拟按键
在SystemUi中的PhoneStatusBar中的makeStatusBarView()方法中有如下代码 try { boolean showNav = mWindowManagerService.hasNavigationBar(); if (DEBUG) Log.v(TAG, "hasNavigationBar=" + show原创 2016-02-29 18:46:24 · 1392 阅读 · 0 评论 -
SystemUi启动分析
开机后在com.android.server.SystemServer的initAndLoop中 if (!disableSystemUI) { try { Slog.i(TAG, "Status Bar"); statusBar = new StatusBarMa原创 2016-02-29 18:45:18 · 1388 阅读 · 0 评论 -
Power长按、组合键分析
1.Power长按功能原理 当按下power时 Log.i(TAG, "PowerKey down, isScreenOn = " + isScreenOn); interceptPowerKeyDown(!isScreenOn || hungUp || mVo原创 2016-02-29 18:43:48 · 2594 阅读 · 0 评论 -
开机动画半屏、权限管理流程、hasSystemFeature
1.平板开机时开机动画半屏播放,最后一帧全屏显示,关机动画正常。 原因:屏幕surfaceflinger 默认没转过来,android起来后才转。 解决:在DisplayDevice.cpp内的setProjection函数里修改 if (!frame.isValid()) { // the destination frame can be invalid if it原创 2016-03-03 10:34:28 · 1240 阅读 · 0 评论 -
SMS-MMS加载列表显示
程序读取数据库中短彩信后用ListView来显示信息,所显示用的适配器为MessageListAdapter。在适配器的bindView方法中构建MessageItem对象,此对象存储了cursor里的所以信息。每一条View是MessageListItem,MessageListItem调用bind方法把MessageItem传递进去。bind方法中,一般情况走bindCommonMes原创 2016-03-03 10:49:21 · 1255 阅读 · 0 评论 -
MMS附件播放查看与附件保存
1. MediaModel 代表一项附件。实现接口EventListener。2. SlideModel 代表一页幻灯片。实现接口List, EventListener3. SlideshowModel 代表所有幻灯片。实现接口List, IModelChangedObserver。SlideshowActivity用于播放幻灯片,在Oncreate中Slid原创 2016-03-03 10:48:14 · 885 阅读 · 0 评论 -
Email 下载音频附件完成后播放不显示名称
#0001281【操作步骤】电子邮件-收件箱-进入邮件查看详情界面-附件-音频附件-下载成功后直接点击播放-弹出播放器开始播放【预期结果】播放时应能够显示歌曲名称【实际结果】播放时不显示名称信息原因:当打开邮件时,附件已经下载完成,存在database下的文件夹里,附件相关信息存在了Attachment表里,当点击播放时把缓存文件的Uri传给了音乐播放器,音乐播原创 2016-03-03 10:46:39 · 724 阅读 · 0 评论 -
Mms 杂项与彩信附件加载
MmsApp继承Application,在onCreate方法中初始化了一系列对象。Conversation.init(this):Uri = Threads.CONTENT_URI.buildUpon().appendQueryParameter("simple", "true").build();查询“threads”表中的所有项,生成Conversation对象存到内部原创 2016-03-03 10:42:28 · 810 阅读 · 0 评论 -
Galler2的触屏事件
1.图库主要的显示View为GLRootView继承GLSurfaceView在其的dispatchTouchEvent方法中调用了mContentView.dispatchTouchEvent(event)方法,其中mContentView为GLView对象。GLView对象在setContentPane(GLView content)方法中传递过来,在传递过来的同时GLView也把GLRo原创 2016-03-03 10:41:29 · 574 阅读 · 0 评论 -
MMS问题及细节
1.接收彩信后发现占用了两个_id原因:接收彩信前会收到一个push通知,这条通知存数据库占用一个_id,下载彩信正常保存在一个新的_id,接着删除通知数据。原创 2016-03-03 10:39:24 · 773 阅读 · 0 评论 -
问题:Mms播放幻灯片系列
1.播放幻灯片时灭屏,再亮屏,播放按钮状态不对。原因:底部播放状态UI为MediaController类,其中播放状态通过接口类MediaPlayerControl的isPlaying()方法的返回值控制,而灭屏时改变了播放状态却没改变这个值。2.播放幻灯片时灭屏,再亮屏,继续播放,播完后没退出。原因:在onPause()方法中把mSmilDoc的EventListener 接口给移除原创 2016-03-03 10:38:03 · 348 阅读 · 0 评论 -
短彩信文档
【SC1】短彩信功能设计修改说明Version 0.1 (2013-01-22)Author liuwei 目录1.信息发送流程 31.1.发送短信流程 31.2.发送彩信流程 72.新增功能说明 122.1.对网址链接的保存与打开 122.2.对号码的保存与拨号、发短信 122.3.原创 2016-03-02 13:04:34 · 1229 阅读 · 0 评论 -
SystemUi篇->StatusBarManager
1.改变通知栏右上角状态图标。android.app.StatusBarManager定义了操作通知栏的方法,比如展开、收缩通知栏,修改、移除、隐藏通知栏状态图片,这是个hide类,通过远程调用StatusBarManagerService实现功能。StatusBarManagerService中对能替换的图标进行了限制,具体限制列表如下 ime s原创 2016-02-29 18:47:39 · 5972 阅读 · 0 评论