[发明专利]安卓系统的触屏消息处理方法及系统在审
申请号: | 201510855511.6 | 申请日: | 2015-11-30 |
公开(公告)号: | CN105487934A | 公开(公告)日: | 2016-04-13 |
发明(设计)人: | 田泽丰 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 高彦 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统 消息 处理 方法 | ||
技术领域
本发明涉及移动终端技术领域,特别是涉及安卓系统的触屏消息处理方法及系统。
背景技术
Android系统中,系统进程中的WindowManagerService组件负责触屏消息的监控和派发, 系统初始化后,WindowManagerService组件会创建两个线程InputReaderThread和 InputDispatcherThread,InputReaderThread线程负责监控底层驱动的触屏消息, InputDispatcherThread线程负责派发触屏消息到应用层。为了将触屏消息派发到Activity,创 建Activity时,需要创建一对InputChannel管道,即ServerInputChannel和ClientInputChannel, 系统进程的InputDispatcherThread线程负责管理ServerInputChannel管道,Activity所在应用 的主线程负责管理ClientInputChannel管道。当有触屏消息触发时,InputDispatcherThread线 程找到当前处于Focus(获得焦点,也就是处于Activity栈顶部正在使用的意思)的Activity, 从中取出其对应的ServerInputChannel,向ServerInputChannel管道中写入触屏消息,之后系 统会唤醒ServerInputChannel对应ClientInputChannel的应用主线程,应用主线程运行后,从 ClientInputChanel中取出触屏消息,派发给具体的Activity进行处理。Activity提供了 FLAG_NOT_TOUCHABLE属性设置,该属性只是能让当前FocusActivity接收不到触屏消息, 却无法使得其他Activity进行触屏消息处理。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供安卓系统的触屏消息处理方法及 系统,用于解决现有技术中未获得焦点的Activity的不能处理触屏消息的问题。
为实现上述目的及其他相关目的,本发明提供一种安卓系统的触屏消息处理方法,包括: 至少将当前获取焦点的第一Activity配置成能设置用于放弃处理触屏消息的第一属性;当检 测到所述第一Activity设置所述第一属性时,获取所述第一Activity在Activity栈中至少前一 位的第二Activity,并确保其设置有用于传输触屏消息的消息通道;派发触屏消息至所述第二 Activity以利用其消息通道传输触屏消息至应用进程以供处理。
于本发明的一实施例中,所述的安卓系统的触屏消息处理方法,包括:当检测到所述第 一Activity取消设置所述第一属性时,阻断所述第二Activity的消息通道,派发触屏消息至所 述第一Activity以利用其消息通道传输触屏消息至应用进程以供处理。
于本发明的一实施例中,所述第一属性的检测是通过安卓系统中的系统进程创建的第一 线程来控制的,所述触屏消息的派发是通过安卓系统中的系统进程创建的第二线程来控制实 现的。
于本发明的一实施例中,所述第二线程通过控制安卓系统中的InputDispatcher组件来实 现所述派发。
于本发明的一实施例中,所述消息通道包括:成对的第一通道及第二通道;所述第一通 道用于接收所述触屏消息;所述第二通道用于与应用进程通信以传输所述触屏消息。
为实现上述目的及其他相关目的,本发明提供一种安卓系统的触屏消息处理系统,包括: 设置模块,用于对当前获取焦点的第一Activity设置用于放弃处理触屏消息的第一属性;检 测模块,用于当检测到所述第一Activity设置所述第一属性时,获取所述第一Activity在 Activity栈中至少前一位的第二Activity,并确保其设置有用于传输触屏消息的消息通道;处 理模块,用于派发触屏消息至所述第二Activity以利用其消息通道传输触屏消息至应用进程 以供处理。
于本发明的一实施例中,所述检测模块,还用于当检测到所述第一Activity取消设置所 述第一属性时,阻断所述第二Activity的消息通道,通过所述处理模块派发触屏消息至所述 第一Activity以利用其消息通道传输触屏消息至应用进程以供处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510855511.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电极式安全防盗锁
- 下一篇:输水管道等径准调压井