[发明专利]一种消息截获方法、装置、电子设备及存储介质有效
申请号: | 201910872646.1 | 申请日: | 2019-09-16 |
公开(公告)号: | CN110597647B | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 薛勇;吕庆春;彭飞 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 300450 天津市滨海新区经济技术开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 截获 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种消息截获方法、装置、电子设备及存储介质,其中,所述方法包括:命名响应链中各层级页面所对应的消息接口,得到所述消息接口的自定义名称;确定目标页面;结合所述目标页面及各消息接口的自定义名称,确定目标消息接口;将所述目标消息接口对应的接口代码替换为截获代码;利用所述截获代码,截获当前传递的消息。可见,本申请所提供的消息传递方法,能够在指定层级的页面中准确截获所需要的消息,同时,不影响消息的正常传递。
技术领域
本申请涉及App开发技术领域,尤其涉及一种消息截获方法、装置、电子设备及存储介质。
背景技术
App(Application,应用软件)的开发依赖于内部的消息传递机制,App通常包含多个层级的页面,每个层级的页面均对应响应不同的消息,消息在各个层级的页面之间传递。开发人员在开发的过程中,经常需要在某一目标层级的页面上截获消息,这种截获消息的操作就需要依赖于消息传递机制。
通常的消息传递机制分为代理、block回调和通知三类。具体地,当采用代理或者block回调方式传递消息时,消息会从层级最低的页面依次至层级最高的页面进行响应,其中,较高层级的页面会引用较低层级的页面的部分代码来完成响应。当采用通知方式传递消息时,消息以及消息在各个页面的响应结果均会以广播的形式被传递至全部页面,因此,各个页面均会持有全部消息及其在各个页面的响应结果。
通过各个消息传递机制的工作原理可知,当采用代理或者block回调方式传递消息时,较高层级的页面与较低层级的页面之间会存在严重的代码耦合,如果想要在某一层级的页面上截获消息,则需要从最低级页面依次引用代码至该层级页面。但是,所截获的消息容易受各个层级页面之间代码耦合的影响,准确率较低。而采用通知方式传递消息虽然能够解决各个层级页面之间代码耦合的问题,但是,由于各个层级所接收到的广播消息过多,也会导致所截获的消息准确率较低的问题。
发明内容
本申请提供了一种消息截获方法、装置、电子设备及存储介质,以解决利用现有消息传递机制在某一层级的页面所截获信息的准确率较低的问题。
第一方面,本发明实施例提供了一种消息截获方法,所述方法包括:
命名响应链中各层级页面所对应的消息接口,得到所述消息接口的自定义名称;
确定目标页面,所述目标页面为预设发生截获消息动作的页面;
结合所述目标页面及各消息接口的自定义名称,确定目标消息接口;
将所述目标消息接口对应的接口代码替换为截获代码,所述截获代码用于截获当前传递的消息,且传递所述消息至所述目标页面的下一级页面;
利用所述截获代码,截获当前传递的消息。
在本发明实施例第一方面一种可能的实现方式中,所述命名响应链中各层级页面所对应的消息接口,得到消息接口的自定义名称包括:
获取所述页面对应的消息接口;
预命名所述消息接口,得到所述消息接口的待用名称,所述待用名称为至少包含所对应页面的层级信息的名称;
替换重复名称为可用名称,得到各个消息接口的自定义名称,所述重复名称为多于一个消息接口所使用的相同的待用名称,所述可用名称为与各所述待用名称不同的名称。
在本发明实施例第一方面一种可能的实现方式中,所述确定目标页面包括:
获取预设截获指令中的页面层级信息;
按照所述页面层级信息,确定预选页面,所述预选页面为所述页面层级信息所对应的全部页面;
从全部所述预选页面中确定目标页面,所述目标页面为触点所在的预选页面,所述触点为页面接受碰触的受力点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910872646.1/2.html,转载请声明来源钻瓜专利网。