需求背景:
近来vip群里学员朋友有问道一个需求,大概需求就是他们做TV的Framework开发,想要遥控器有一个新定义的儿童节目按键,想要实现这个按键按下后就跳转到儿童节目的Activity。
需求拆解及作业要求:
针对上面需求,其实要实现该需求主要分为以下几个部分
1、按键部分,需要全局对事件进行监听,而且可以处理相关的响应逻辑
2、需要考虑使用某种跨进程通讯方式,可以通知到儿童节目app的进程
3、需要考虑儿童节目app进程,接受到了按键事件后,需要考虑拉起Activity,注意这里有可能儿童节目app压根没有任何的可见窗口。
上面已经把该需求拆解完成,下面给大家布置以下的几个作业要求:
1、针对按键事件的全局监听和处理,建议大家可以采用2种方案进行实现,这里的儿童按键,大家可以使用其他现有按键进行模拟既可以
方案a:直接PhoneWindowManager中进行相关的事件的监听和处理 (基本要求)
方案b:大家可以新学习一下GlobalKeyManager相关的源码,参考系统本身自带了global_key相关处理
2、按键事件接受后,需要可以冷启动儿童节目app的Activity,注意可能儿童节目进程都可能没有,更没有可见Window
3、尽量减少对framework部分原生代码部分的修改,减少这部分的耦合情况
上面3点属于正常作业部分要求,如果都完成,有时间可以做一下第4点要求
4、进阶部分:要在framework添加一个完全新的按键Key事件
更多framework实战开发,关注下面“千里马学框架”