基于Android 4.4 开发的多窗体系统 开放源代码
Hi, 这是我基于Android 4.4开发的多窗体系统,还有非常多不足,还请多多不吝赐教啊,代码已经所有开源。
![](http://img-my.csdn.net/uploads/201406/17/1403015499_8171.png)
Done:
1. APP以窗体化显示
在 PhoneWindowManager::layoutWindowLw() 中通过packageName过滤,使指定的APP以非全屏尺寸显示,由于一个APP一般是以一个task为单位,显示多个activity,因此採用packageName过滤的方法。
2. 多个APP同一时候处于 onResume 状态
改动AMS中通知onPause()的地方,指定pkg不通知pause。关于AMS中activity生命周期控制的地方,是以后须要着重优化的。
3. 改动Window的touch region
改动InputMonitor::addInputWindowHandleLw(), 使得Window拦截touch event的region仅仅在本窗体范围内。
4. Touch的window 上移到屏幕顶层
在AMS,WindowSession中新增接口,在ViewRootImpl里拦截touch event,通过 windowSession通知WMS,和AMS,将Window 和 task 移至顶层。
5. RecentActivity 启动到 APP stack中
因为同stack中task切换时的visibility切换还较好控制,可是假设跨stack切换,控制较为困难,因此将RecentActivity移至APP stack中启动,这样呼出RecentActivity,切换APP时,不会出现一些显示上的bug。
6. 为Window添加titlebar
在PhoneWindow::generateLayout() 中添加titlebar,包含close, minimum, maximum, drag area, resize。
minimum尚未实现,由于还要结合AMS做一些控制activity生命周期的工作。
7. 增增加口APP
提供用户选择让哪个APP以窗体化形式启动,并在ServiceManager中注冊了一个自己定义的service,里面存放了要窗体化显示的pkgs,然后供framework各处调用。
Next plan:
1. 修正各种bug
bug之多简直不忍直视了。。。关键还是对源代码非常多地方不够熟悉,因此总是头痛医头,脚痛医教。
2. 熟悉AMS控制流程
设计合理的多窗体activity生命周期,完毕 minimum。
更新于20140730-------------------------------------------------------------------------------------------
简单的介绍multi window开发过程的PPT:下载地址
相关文章
- Android_(控件)使用ListView显示Android系统SD卡的文件列表_02
- 【ANDROID游戏开发之六】在SURFACEVIEW中添加系统控件,并且相互交互数据!
- 【ANDROID游戏开发二十】物理游戏之重力系统开发,让你的游戏变得有质有量!
- android桌面小火箭升空动画
- android tf卡及u盘_android8.1系统修改第三方app无法读写U盘或者内部SD卡的问题
- Android 系统 SystemServer进程
- android系统开发环境配置
- android系统级别应用开发要点
- Android 11.0 系统禁用深色主题背景功能
- Android 11.0 12.0设置系统图标形状默认为squircle
- Android 10.0 系统settings禁止访问应用信息页
- Android 10.0 系统默认开启wifi
- Android 8.0设置系统时区
- 【Android Gradle 插件】Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与 Gradle 配置关联 ) ★
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 加载 dex 文件 | 将系统的 dexElements 与 应用的 dexElements 合并 | 替换操作 )
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 加载 dex 文件 | 反射获取系统的 Element[] dexElements )
- Android系统模块编译
- Android 系统服务一览表
- Android培训班(10)
- Android系统源码怎么看?Android开发源码精编解析助你高效阅读源码
- 最新《Android车载系统应用开发指南 》,Android工程师的新赛道
- 【源码阅读】半个月读完Android系统开发源码
- Android系统解除USER版本无法进入Recovery模式限制
- Android 系统BatteryFactory
- Android外设开发实战-移动阅读系统
- Android 10.0 系统framework发送悬浮通知的流程分析
- Android内核开发:系统编译输出的镜像文件
- Android内核开发:图解Android系统的启动过程