当前位置: 首页 > backend >正文

重学Framework Input模块:如何实现按键一键启动Activity-学员作业

需求背景:

近来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实战开发,关注下面“千里马学框架”

http://www.xdnf.cn/news/15769.html

相关文章:

  • HTML5中的自定义属性
  • 【洛谷】询问学号、寄包柜、移动零、颜色分类(vector相关算法题p1)
  • 实验室危险品智能管控:行为识别算法降低爆炸风险
  • bws-rs:Rust 编写的 S3 协议网关框架,支持灵活后端接入
  • 汽车ECU控制器通信架构
  • Java学习--------消息队列的重复消费、消失与顺序性的深度解析​
  • Linux 内存管理(2):了解内存回收机制
  • Python实现智能文件搜索系统:从基础到高级应用
  • 【Oracle】ORACLE OMF说明
  • AUTOSAR进阶图解==>AUTOSAR_SWS_DiagnosticLogAndTrace
  • Redisson RLocalCachedMap 核心参详解
  • kotlin部分常用特性总结
  • Ultralytics代码详细解析(三:engine->trainer.py主框架)
  • LVS——nat模式
  • 电机相关常见名词
  • 如何解决Flink CDC同步时间类型字段8小时时间差的问题,以MySQL为例
  • Redis Sentinel哨兵集群
  • Spring之【AnnotatedBeanDefinitionReader】
  • 针对大规模语言模型的上下文工程技术调研与总结(翻译并摘要)
  • 【C++】入门阶段
  • 基于开放API接口采集的定制开发开源AI智能名片S2B2C商城小程序数据整合与增长策略研究
  • 本地部署开源的 AI 驱动的搜索引擎 Perplexica 并实现外部访问
  • Spring Bean 的作用域(Bean Scope)
  • SpringAI_Chat模型_DeepSeek模型--基础对话
  • 扭蛋机系统开发:打造多元化娱乐生态的新引擎
  • Libevent(3)之使用教程(2)创建事件
  • Spring MVC @RequestParam注解全解析
  • 【Linux】重生之从零开始学习运维之Nginx之server小实践
  • 最新版vscode 连接ubuntu 18.04 保姆级教程
  • 编程实现Word自动排版:从理论到实践的全面指南