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

重学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.dtcms.com/a/287869.html

相关文章:

  • 死锁的认识与处理
  • 使用 .NET 6.0 的简单 WebSocket 客户端和服务器应用程序
  • 基于GEE与哨兵2号的土地覆盖分类方法及实现
  • 137、真心话大冒险测谎器3.0
  • [故障诊断方向]基于二维时频图像和数据增强技术的轴承故障诊断模型
  • 家庭KTV v1.1.9 | 曲库丰富,无限制免费K歌
  • Kotlin main函数
  • RabbitMQ—事务与消息分发
  • JUC并发包CountDownLatch减法计数器的使用实例(多线程)
  • Git 完全手册:从入门到团队协作实战(2)
  • 万字解析LVS集群
  • Pandas 30分钟
  • Mybatis:注解完成增删改查
  • steam游戏搬砖项目超完整版实操分享
  • 解惑LINQ中的SelectMany用法
  • 48Days-Day03 | 删除公共字符,两个链表的第一个公共结点,mari和shiny
  • CCF编程能力等级认证GESP—C++8级—20250628
  • 【EMC设计基础--信号环路分析、PCB设计规则】
  • 深入解析文件操作(上)- 二进制文件和文本文件,流的概念,文件的打开和关闭
  • Visual Studio Code(VSCode)中设置中文界面
  • 使用C#对象将WinRiver项目文件进行复杂的XML序列化和反序列化实例详解
  • STM32_Hal库学习ADC
  • XSS的反射型、DOM型、存储型漏洞
  • sqli-labs靶场通关笔记:第32-33关 宽字节注入
  • Go语言中的类型转换与类型推断解析
  • Spring AI硬核攻略:235个模块解析 + 6大场景实战
  • view和pure的区别
  • 智能合约代理与批量调用优化:最小代理与MultiCall的应用
  • Python趣味算法:百钱百鸡问题——双重循环优化与算法效率分析
  • 【Bluedroid】btif_av_sink_execute_service之服务器启用源码流程解析