[发明专利]一种多活动触屏消息控制方法及系统在审
申请号: | 201410731169.4 | 申请日: | 2014-12-05 |
公开(公告)号: | CN104391649A | 公开(公告)日: | 2015-03-04 |
发明(设计)人: | 田泽丰 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | G06F3/0488 | 分类号: | G06F3/0488;G06F3/0484;G06F3/0481 |
代理公司: | 上海信好专利代理事务所(普通合伙) 31249 | 代理人: | 张静洁;包姝晴 |
地址: | 201620 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 活动 消息 控制 方法 系统 | ||
技术领域
本发明涉及智能系统触摸屏控制领域,特别涉及一种多活动触屏消息控制方法及系统。
背景技术
目前安卓(Android)智能系统中,每个界面只能显示一个应用的一个活动(Activity),当前活动获得焦点并占据整个屏幕进行显示。当打开新的活动时,先前的活动失去焦点,不再显示;新的活动获得焦点,并显示在整个屏幕中。安卓系统中通过窗口管理服务组件(WindowManagerService)来负责对整个触屏消息的控制。现有的窗口管理服务组件支持一种单活动结构的触屏控制机制,只保留当前处于焦点的(即激活的)活动的信息,并在接收到底层的触屏消息后,直接将触屏消息转给处于焦点的活动进行处理,因而无法满足多个活动接收触屏消息的多活动结构功能要求。
具体而言,在安卓系统启动的时候,系统服务器(SystemServer)进程会启动窗口管理服务组件,该窗口管理服务组件进而通过系统输入管理器(InputManager)来监控触屏消息。触屏消息都是直接分发给当前激活的活动窗口来处理。当一个应用打开时,应用的活动就会占据整个屏幕,在屏幕中显示活动下面的显示(View)组件,活动在创建激活的同时,会到窗口管理服务组件中注册接收触屏消息的通道(即触屏消息处理通道);当有触屏消息触发时,输入管理器将触屏消息通过触屏消息处理通道发送给当前激活的活动进行处理。当有新的活动激活时,先前激活的活动就要向窗口管理服务组件取消接收触屏消息处理通道,以便由新激活的活动重新到窗口管理服务组件中注册触屏消息处理通道。在这种机制下,窗口管理服务组件始终只记录当前激活的活动的触屏消息处理通道,并且将所有的触屏消息发送给当前唯一的活动进行处理。
随着使用安卓系统的手机屏幕越来越大,分辨率越来越高,多个活动同时在屏幕中显示成为趋势。然而,目前的窗口管理服务组件只记录当前处于焦点的活动,当有触屏消息过来时,直接传递给处于焦点的活动进行处理。而当屏幕中有多个活动时,每个活动占据部分显示区域,这就需要窗口管理服务组件能够根据触屏点击位置以及各个活动的显示区域,将触屏消息准确的传给对应的活动进行处理。当前的窗口管理服务组件的触屏控制机制,显然无法满足根据用户在屏幕中的触摸位置将触屏消息发送给不同活动的要求。
发明内容
为了解决现有技术的问题,本发明提供一种多活动触屏消息控制方法及系统,重新制定了窗口管理服务组件中的触摸屏控制机制,当有多个活动显示在触摸屏上时,能够根据触摸的位置对触屏消息进行不同的处理,以支持将触屏消息准确派发到显示在触摸屏中的多个活动。
为了达到上述目的,本发明的一个技术方案是提供一种多活动触屏消息控制方法,其中,同时显示在触摸屏上的多个活动,包含在初始时获得焦点的第一活动,和在初始时失去焦点的第二活动;
在触摸屏上收到触屏消息时,窗口管理服务组件对触摸点在触摸屏上的位置进行判断:若触摸点处在第一活动的显示区域内,将触屏消息转给获得焦点的第一活动进行后续处理;若触摸点处在第二活动的显示区域内,则进行焦点切换使第二活动获得焦点后,将触屏消息转给切换后获得焦点的第二活动进行后续处理;
其中,在进行焦点切换时,活动管理服务组件与第一活动所属应用的第一主线程交互,由该第一主线程进行使第一活动失去焦点的操作来向窗口管理服务组件解注册触屏消息处理通道;活动管理服务组件还与第二活动所属应用的第二主线程交互,由该第二主线程进行使第二活动获得焦点的操作来向窗口管理服务组件注册触屏消息处理通道,以便获取触屏消息进行后续处理。
优选地,所述触屏消息包含下操作消息、移动消息、上操作消息;
若下操作消息的触摸点,处在失去焦点的活动的显示区域时,进行焦点切换,并刷新整个显示界面;
若移动消息的触摸点,处在失去焦点的活动的显示区域时,活动管理服务组件根据窗口管理服务组件的请求进行拖动处理来改变触摸点所在活动的显示区域的位置,并通知触摸点所在活动的主线程刷新该活动的显示;
若上操作消息的触摸点,处在失去焦点的活动的显示区域时,结束拖动处理,完成对触屏消息的处理。
优选地,所述窗口管理服务组件收到触屏消息时,以及主线程对触屏消息进行处理时,分别对触屏消息进行有效性检查;
当收到触屏信息中的移动消息或上操作消息之前,先收到过所述下操作消息时,判断收到的触屏消息是有效的,否则判断收到的触屏信息是无效的;
有效性检查之后,初始时或切换后获得焦点的活动的主线程对有效的触屏信息进行处理;无效的触屏消息被丢弃而不再处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410731169.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多种脚本自动测试方法
- 下一篇:信息处理方法及装置