CN113220403B - h5拦截Android返回事件的方法、装置及电子设备 - Google Patents

h5拦截Android返回事件的方法、装置及电子设备 Download PDF

Info

Publication number
CN113220403B
CN113220403B CN202110598269.4A CN202110598269A CN113220403B CN 113220403 B CN113220403 B CN 113220403B CN 202110598269 A CN202110598269 A CN 202110598269A CN 113220403 B CN113220403 B CN 113220403B
Authority
CN
China
Prior art keywords
event
return
page
android
events
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110598269.4A
Other languages
English (en)
Other versions
CN113220403A (zh
Inventor
徐亚军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Daojia Youxiang Home Economics Service Co ltd
Original Assignee
Changsha Daojia Youxiang Home Economics Service Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha Daojia Youxiang Home Economics Service Co ltd filed Critical Changsha Daojia Youxiang Home Economics Service Co ltd
Priority to CN202110598269.4A priority Critical patent/CN113220403B/zh
Publication of CN113220403A publication Critical patent/CN113220403A/zh
Application granted granted Critical
Publication of CN113220403B publication Critical patent/CN113220403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种h5拦截Android返回事件的方法及装置、电子设备及可读介质,所述h5拦截Android返回事件的方法包括:响应于返回事件,Android端向h5页面调用事件拦截方法;h5页面查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;h5页面将返回事件进行分发并判断返回事件是否被消费;若返回事件未被消费,h5页面调用Android端的回退方法。本发明Android端只需保存h5页面的拦截状态信息,无需保存拦截方法,避免了h5页面切换后,Android端无法删除当前保存的拦截方法,导致应用无法继续使用,提高了应用容错性和可靠性。

Description

h5拦截Android返回事件的方法、装置及电子设备
技术领域
本发明属于计算机技术领域,特别适用于客户端与前端混合开发的技术,更具体地涉及一种h5拦截Android返回事件的方法、装置、电子设备及计算机可读介质。
背景技术
目前,在采用混合构架开发的应用的开发中,通过Android端内置webview组件来承载第五代超文本标记语言(h5,Hyper Text Markup Language5.0)编程的页面,进而实现提高页面所展示资源的丰富性。
为了支持页面拦截功能,如图1所示,h5页面先将返回事件的拦截方法名称传递给Android端,Android端响应返回事件时,调用h5页面传递的拦截方法,h5页面响应事件,完成拦截。这种方式中,某些情况下,h5页面在当前webview容器中已不展示,而Android端仍然保存有该页面传递的拦截方法,会导致当前应用无法正常回退,甚至报错。为了解决这个问题,需要再次开发配套的卸载程序去卸载这些被删除的h5页面的拦截方法,在某些情况下,开发的卸载程序只能优化,并不能完全卸载已经被删除的h5页面的拦截方法。导致应用失去容错性和可靠性,无法继续使用,甚至正常需求停止的问题。
显然,开发卸载程序会消耗开发人员大量时间和精力,造成效率低下的问题。
发明内容
有鉴于此,本发明旨在提出一种h5拦截Android返回事件的方法及装置、电子设备及计算机可读介质,以期至少部分地解决上述技术问题中的至少之一。
为解决上述技术问题,本发明的第一方面提出了一种h5拦截Android返回事件的方法,包括如下步骤:
响应于返回事件,Android端向h5页面调用事件拦截方法;
h5页面查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;
h5页面将返回事件进行分发并判断返回事件是否被消费;
若返回事件未被消费,h5页面调用Android端的回退方法。
本发明第二方面提出一种h5拦截Android返回事件的装置,所述装置包括:
查找模块,用于响应Android端调用事件拦截方法,查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;
分发模块,用于将返回事件进行分发并判断返回事件是否被消费;
调用模块,用于若返回事件未被消费,调用Android端的回退方法。
本发明的第三方面还提出了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述的方法。
本发明的第四方面还提出了一种计算机可读介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述的方法。
基于上述技术方案可知,本发明的h5拦截Android返回事件的方法及装置、电子设备及计算机可读介质相对于现有技术至少具有如下有益效果之一:
本发明通过Android端向h5页面调用事件拦截方法;h5页面在查找到所述事件拦截方法时,向Android端返回拦截状态信息;若h5页面未消费该返回事件,h5页面调用Android端的回退方法,结束对返回事件的拦截。本发明Android端只需保存h5页面的拦截状态信息,无需保存拦截方法,一方面,无需再次开发卸载程序去卸载已删除页面的拦截方法,减小了开发人员的重复劳动,提高开发效率。另一方面,提高了应用容错性和可靠性,避免了h5页面切换后,Android端无法完全删除当前保存的拦截方法,导致应用无法继续使用的问题。
本发明根据事件类型收集和分发公共事件,根据根据公共事件分发结果执行所述公共事件。从而将Android端传递过来的公共事件分为不同类别去执行,提高了事件执行的效率。
附图说明
图1是本现有技术中h5拦截Android返回事件的示意图;
图2是本发明h5拦截Android返回事件的方法的流程示意图;
图3是本发h5页面将返回事件进行分发并判断返回事件是否被消费的流程示意图;
图4是本发明的h5拦截Android返回事件的装置的结构示意图;
图5是本发明的一个实施例的电子设备的结构示意图;
图6是本发明的一个实施例的计算机可读记录介质的示意图。
具体实施方式
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理单元装置和/或微控制器装置中实现这些功能实体。
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
为解决h5页面删除后,Android端仍然保留有该页面传递的拦截方法,需要再开发配套的卸载程序去卸载这些被删除的h5页面的拦截方法,消耗开发人员大量时间和精力,造成效率低下的技术问题,本发明提出了一种h5拦截Android返回事件的方法,包括如下步骤:
响应于返回事件,Android端向h5页面调用事件拦截方法;
h5页面查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;
h5页面将返回事件进行分发并判断返回事件是否被消费;
若返回事件未被消费,h5页面调用Android端的回退方法。
根据本发明一种优选的实施方式,所述h5页面逐级将返回事件进行分发并判断返回事件是否被消费;
其中,h5页面在当前级将返回事件进行分发并判断返回事件是否被消费的步骤包括:
h5页面判断是否存在下一级分发对象;
若存在下一级分发对象,向下一级分发对象分发返回事件;
判断返回事件是否被消费;
若返回事件未被消费,h5页面在下一级将返回事件进行分发并判断返回事件是否被消费。
根据本发明一种优选的实施方式,所述判断返回事件是否被消费包括:
读取返回事件响应的返回值;
根据所述返回值判断返回事件是否被消费。
根据本发明一种优选的实施方式,若不存在下一级分发对象,结束分发。
根据本发明一种优选的实施方式,所述h5页面将返回事件进行分发并判断返回事件是否被消费之前,所述方法还包括:
h5页面收集并存储返回事件;
当h5页面向Android端返回拦截状态信息时,从存储的返回事件中获取该拦截状态信息对应的返回事件。
根据本发明一种优选的实施方式,所述方法还包括:
h5页面收集公共事件并根据事件类型存储各类公共事件;
h5页面根据事件类型对公共事件进行分发;
h5页面响应所述公共事件。
根据本发明一种优选的实施方式,h5页面还收集某类公共事件的响应方法;
对应的,h5页面执行该公共事件所在事件类型的响应方法。
相比于相应技术,本发明Android端只需保存h5页面的拦截状态信息,无需保存拦截方法,避免了开发卸载程序去卸载已删除页面的拦截方法。能有效节约开发人员的时间和精力,提高开发效率。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
图2是本发明的一种h5拦截Android返回事件的方法的流程示意图,如图2所示,所述方法包括如下步骤:
S1、响应于返回事件,Android端向h5页面调用事件拦截方法;
本发明实施例中,当用户点击页面返回按钮,或者页面加载完毕后,触发返回事件,Android端向h5页面调用事件拦截方法。
在一种示例中,可以预先配置与返回事件对应的事件拦截方法,则Android端响应于返回事件,直接调用与返回事件对应的事件拦截方法,比如:on back方法。
此外,本发明实施例中,在页面初始化完成后,h5页面可以收集并存储返回事件,方便后续对返回事件的执行。
S2、h5页面查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;
示例性的,h5页面从事件拦截库中查找当前事件拦截方法,若能查找到当前事件拦截方法,向Android端返回拦截状态信息;所述拦截状态信息用于标识h5页面存在当前事件拦截方法,所述拦截状态信息可以通过将拦截状态设置为ture来实现。Android端在调用事件拦截方法的同时,开启一个延时器通过延时一定时间(比如10ms),来判断当前的拦截状态。若当前拦截状态被标记为true,表明h5页面存在当前事件拦截方法;则等待h5页面对返回事件的响应,若当前拦截状态标记为false,表明h5页面不存在当前事件拦截方法;则Android端主动调用回退方法,该回退方法可以是Android端原生的activity回退函数finish,或者,webview内页面的返回函数,也可以是Android app内用于回退的其他操作;本发明不做具体限定。
此外,若h5页面已经收集并存储了返回事件,则当h5页面向Android端返回拦截状态信息时,从存储的返回事件中获取该拦截状态信息对应的返回事件。
S3、h5页面将返回事件进行分发并判断返回事件是否被消费;
示例性的,可以预先配置返回事件分发对象的级别,所述h5页面逐级将返回事件进行分发并判断返回事件是否被消费;其中,可以从低级别对象向高级别对象进行分发,也可以从高级别对象向低级别对象进行分发,本发明不做具体限定。其中,返回事件被消费包括:返回事件被页面拦截或者返回事件被标记执行。
以从高级别对象向低级别对象进行分发为例,h5页面在当前级将返回事件进行分发并判断返回事件是否被消费的步骤包括:
S31、h5页面判断是否存在下一级分发对象;
S32、若存在下一级分发对象,向下一级分发对象分发返回事件;
本步骤中,若不存在下一级分发对象,结束分发。
S33、判断返回事件是否被消费;
示例性的,本步骤可以读取返回事件响应的返回值;根据所述返回值判断返回事件是否被消费。比如,返回值为true的则确定返回事件已被消费,返回值为false则确定返回事件未被消费。
S34、若返回事件未被消费,h5页面在下一级将返回事件进行分发并判断返回事件是否被消费。
下面结合图3,以分发对象包括:事件分发中心、页面page和组件components,且事件分发中心的级别高于页面page的级别,页面page的级别高于组件components的级别为例来说明本发明h5页面将返回事件进行分发并判断返回事件是否被消费的过程。其中,事件分发中心由多个函数组成的,负责对事件分发和消费状态的判断。
首先,事件分发中心判断是否存在下一级分发对象,也即页面page;若不存在页面page,结束分发。若存在页面page,向页面page分发返回事件;页面page判断返回事件是否被消费,若页面page已消费返回事件,确定返回事件已被消费,说明返回事件拦截成功,且Android端不需要执行回退方法,整个事件分发过程结束。若页面page未消费返回事件,页面page判断是否存在下一级分发对象,也即组件components;若不存在组件components,结束分发。若存在组件components,向组件components分发返回事件,组件components判断返回事件是否被消费,若组件components已消费返回事件,确定返回事件已被消费,说明返回事件拦截成功,且Android端不需要执行回退方法。整个事件分发过程结束。若组件components未消费返回事件,确定返回事件未被消费。说明事件拦截成功,但Android端需要执行回退方法。
S4、若返回事件未被消费,h5页面调用Android端的回退方法。
本发明实施例中,所述回退方法是Android端预设的可直接退回原生页面的上一级页面的方法(函数),使Android端不会进入步骤S1的流程。其可以是Android app环境内提供的一个响应返回的触发事件。拦截方法用于Android端对返回事件的监听,可以是Android端调用的一个固定的函数,以确认对返回事件的拦截状态并向h5页面返回的触发事件。
示例性的,h5页面调用Android端的回退方法,用户返回至原生页面的上一级原生页面。
进一步的,本发明实施例还可以根据事件类型收集和分发公共事件,根据根据公共事件分发结果执行所述公共事件。从而将Android端传递过来的公共事件分为不同类别去执行,提高事件执行的效率。其中,公共事件可以是除返回事件以外的其他事件,比如:系统向用户发送的业务通知信息的通知事件、系统或其他用户向当前用户发送消息的消息事件、用户在界面滑动操作触发的滑动事件等。则所述方法还包括:
S201、页面初始化完成后,h5页面收集公共事件并根据事件类型存储各类公共事件;
示例性的,可以收集公共事件,并创建一个对象object,通过object根据公共事件在h5页面的执行方式对公共事件进行分类,并按照公共事件类型对公共事件进行分区存储。
进一步的,各类公共事件还可以预先配置有对应的响应方法,则本步骤中h5页面还可以收集并存储某类公共事件的响应方法,供后续执行。
S202、h5页面根据事件类型对公共事件进行分发;
具体的分发过程可以参考步骤S3的逐级分发过程。所不同的是,公共事件可能不需要分发对象去消费,比如,通知事件只需要分发对象逐级分发即可。
S203、h5页面响应所述公共事件。
如果步骤S201中收集并存储某类公共事件的响应方法,则本步骤中h5页面执行该公共事件所在事件类型的响应方法。
在另一种示例中,可以将返回事件和公共事件的收集、分发和执行过程进行抽象、封装。从而实现事件收集分发功能的封装,完成事件的传递、拦截、执行。
图4是本发明提供的一种h5拦截Android返回事件的装置的结构框架示意图,如图4所述,所述装置包括:
查找模块41,用于响应Android端调用事件拦截方法,查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;
分发模块42,用于将返回事件进行分发并判断返回事件是否被消费;
调用模块43,用于若返回事件未被消费,调用Android端的回退方法。
在一种示例中,所述分发模块42用于逐级将返回事件进行分发并判断返回事件是否被消费;所述分发模块42包括:
第一判断模块,用于判断是否存在下一级分发对象;
第一子分发模块,用于若存在下一级分发对象,向下一级分发对象分发返回事件;
第二判断模块,用于判断返回事件是否被消费;
循环模块,用于若返回事件未被消费,控制所述第一判断模块、第一子分发模块和第二判断模块循环执行,直至返回事件被消费或者不存在下一级分发对象。
示例性的,所述第二判断模块,用于读取返回事件响应的返回值;根据所述返回值判断返回事件是否被消费。
在一种示例中,所述装置还包括:
第一收集模块,用于收集并存储返回事件;
获取模块,用于当向Android端返回拦截状态信息时,从存储的返回事件中获取该拦截状态信息对应的返回事件。
在一种示例中,所述装置还包括:
第二收集模块,用于收集公共事件并根据事件类型存储各类公共事件;
第二分发模块,用于根据事件类型对公共事件进行分发;
第二响应模块,用于响应所述公共事件。
进一步的,所述第二收集模块还收集某类公共事件的响应方法;
对应的,所述第二执行模块执行该公共事件所在事件类型的响应方法。
本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
图5是本发明的一个实施例的电子设备的结构示意图,该电子设备包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行h5拦截Android返回事件的方法。
如图5所示,电子设备以通用计算设备的形式表现。其中处理器可以是一个,也可以是多个并且协同工作。本发明也不排除进行分布式处理,即处理器可以分散在不同的实体设备中。本发明的电子设备并不限于单一实体,也可以是多个实体设备的总和。
所述存储器存储有计算机可执行程序,通常是机器可读的代码。所述计算机可读程序可以被所述处理器执行,以使得电子设备能够执行本发明的方法,或者方法中的至少部分步骤。
所述存储器包括易失性存储器,例如随机存取存储单元(RAM)和/或高速缓存存储单元,还可以是非易失性存储器,如只读存储单元(ROM)。
可选的,该实施例中,电子设备还包括有I/O接口,其用于电子设备与外部的设备进行数据交换。I/O接口可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
应当理解,图5显示的电子设备仅仅是本发明的一个示例,本发明的电子设备中还可以包括上述示例中未示出的元件或组件。例如,有些电子设备中还包括有显示屏等显示单元,有些电子设备还包括人机交互元件,例如按扭、键盘等。只要该电子设备能够执行存储器中的计算机可读程序以实现本发明方法或方法的至少部分步骤,均可认为是本发明所涵盖的电子设备。
图6是本发明的一个实施例的计算机可读记录介质的示意图。如图6所示,计算机可读记录介质中存储有计算机可执行程序,所述计算机可执行程序被执行时,实现本发明上述的h5拦截Android返回事件的方法。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
通过以上对实施方式的描述,本领域的技术人员易于理解,本发明可以由能够执行特定计算机程序的硬件来实现,例如本发明的系统,以及系统中包含的电子处理单元、服务器、客户端、手机、测试单元、处理器等,本发明也可以由包含上述系统或部件的至少一部分的车辆来实现。本发明也可以由执行本发明的方法的计算机软件来实现,例如由直播设备的微处理器、电子测试单元,客户端、服务器端等执行的测试软件来实现。但需要说明的是,执行本发明的方法的计算机软件并不限于由一个或特定个的硬件实体中执行,其也可以是由不特定具体硬件的以分布式的方式来实现,对于计算机软件,软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中,也可以分布式存储于网络上,只要其能使得电子设备执行根据本发明的方法。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种h5拦截Android返回事件的方法,其特征在于,包括如下步骤:
响应于返回事件,Android端向h5页面调用事件拦截方法;
h5页面查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;所述拦截状态信息用于标识h5页面存在当前事件拦截方法,所述拦截状态信息通过将拦截状态设置为ture来实现;
h5页面将返回事件进行分发并判断返回事件是否被消费;所述返回事件被h5页面收集并存储,当h5页面向Android端返回拦截状态信息时,从存储的返回事件中获取该拦截状态信息对应的返回事件;
若返回事件未被消费,h5页面调用Android端的回退方法。
2.根据权利要求1所述的h5拦截Android返回事件的方法,其特征在于,所述h5页面逐级将返回事件进行分发并判断返回事件是否被消费;
其中,h5页面在当前级将返回事件进行分发并判断返回事件是否被消费的步骤包括:
h5页面判断是否存在下一级分发对象;
若存在下一级分发对象,向下一级分发对象分发返回事件;
判断返回事件是否被消费;
若返回事件未被消费,h5页面在下一级将返回事件进行分发并判断返回事件是否被消费。
3.根据权利要求2所述的h5拦截Android返回事件的方法,其特征在于,所述判断返回事件是否被消费包括:
读取返回事件响应的返回值;
根据所述返回值判断返回事件是否被消费。
4.根据权利要求2所述的h5拦截Android返回事件的方法,其特征在于,若不存在下一级分发对象,结束分发。
5.根据权利要求1所述的h5拦截Android返回事件的方法,其特征在于,所述h5页面将返回事件进行分发并判断返回事件是否被消费之前,所述方法还包括:
h5页面收集并存储返回事件;
当h5页面向Android端返回拦截状态信息时,从存储的返回事件中获取该拦截状态信息对应的返回事件。
6.根据权利要求5所述的h5拦截Android返回事件的方法,其特征在于,所述方法还包括:
h5页面收集公共事件并根据事件类型存储各类公共事件;
h5页面根据事件类型对公共事件进行分发;
h5页面响应所述公共事件。
7.根据权利要求6所述的h5拦截Android返回事件的方法,其特征在于,h5页面还收集某类公共事件的响应方法;
对应的,h5页面执行该公共事件所在事件类型的响应方法。
8.一种h5拦截Android返回事件的装置,其特征在于,包括:
查找模块,用于响应Android端调用事件拦截方法,查找所述事件拦截方法,并在查找到所述事件拦截方法时,向Android端返回拦截状态信息;所述拦截状态信息用于标识h5页面存在当前事件拦截方法,所述拦截状态信息通过将拦截状态设置为ture来实现;
分发模块,用于将返回事件进行分发并判断返回事件是否被消费;所述返回事件被h5页面收集并存储,当h5页面向Android端返回拦截状态信息时,从存储的返回事件中获取该拦截状态信息对应的返回事件;
调用模块,用于若返回事件未被消费,调用Android端的回退方法。
9.一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,其特征在于:
当所述计算机可执行程序被所述处理器执行时,所述处理器执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读介质,存储有计算机可执行程序,其特征在于,所述计算机可执行程序被执行时,实现如权利要求1-7中任一项所述的方法。
CN202110598269.4A 2021-05-29 2021-05-29 h5拦截Android返回事件的方法、装置及电子设备 Active CN113220403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110598269.4A CN113220403B (zh) 2021-05-29 2021-05-29 h5拦截Android返回事件的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110598269.4A CN113220403B (zh) 2021-05-29 2021-05-29 h5拦截Android返回事件的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113220403A CN113220403A (zh) 2021-08-06
CN113220403B true CN113220403B (zh) 2023-02-24

Family

ID=77081601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110598269.4A Active CN113220403B (zh) 2021-05-29 2021-05-29 h5拦截Android返回事件的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113220403B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986089A (zh) * 2021-10-25 2022-01-28 北京有竹居网络技术有限公司 禁止页面跳转方法及设备
CN115022454B (zh) * 2022-06-24 2024-02-02 中国平安财产保险股份有限公司 一种安卓端返回操作方法、装置、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2976709B1 (en) * 2013-03-18 2018-10-03 Cloudmask Systems and methods for intercepting, processing, and protecting user data through web application pattern detection
CN108520059A (zh) * 2018-04-09 2018-09-11 世纪龙信息网络有限责任公司 客户端h5页面的加载方法、系统、计算机设备和存储介质
US10742725B2 (en) * 2018-05-04 2020-08-11 Citrix Systems, Inc. Detection and repainting of semi-transparent overlays
CN109815427A (zh) * 2018-12-14 2019-05-28 平安普惠企业管理有限公司 展示h5页面的方法、客户端应用模块、h5模块及系统
CN109740095B (zh) * 2018-12-27 2019-08-13 四川新网银行股份有限公司 一种基于浏览器堆栈管理的h5页面动态回退方法
US10999362B1 (en) * 2019-01-14 2021-05-04 Parallels International Gmbh Seamless switching of terminal servers in remote-access computing environments
US11880422B2 (en) * 2019-02-04 2024-01-23 Cloudflare, Inc. Theft prevention for sensitive information
CN110275811A (zh) * 2019-05-24 2019-09-24 北京指掌易科技有限公司 一种移动端h5应用行为监控的方法

Also Published As

Publication number Publication date
CN113220403A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN113220403B (zh) h5拦截Android返回事件的方法、装置及电子设备
CN111597110B (zh) 页面测试方法、装置、电子设备及存储介质
CN111737609B (zh) 一种web系统菜单栏的展示方法、终端及存储介质
CN111538659B (zh) 业务场景的接口测试方法、系统、电子设备和存储介质
CN113076253A (zh) 一种测试方法和测试装置
CN111966603A (zh) 内存泄露的检测方法及装置、可读存储介质及电子设备
CN111367799A (zh) 定位源代码崩溃位置的方法、装置、介质及电子设备
CN108062224B (zh) 基于文件句柄的数据读写方法、装置及计算设备
CN111666201A (zh) 回归测试方法、装置、介质及电子设备
CN112506781B (zh) 测试监控方法、装置、电子设备、存储介质及程序产品
CN113760631A (zh) 页面加载时长确定方法、装置、设备和存储介质
CN114647411A (zh) 编程界面加载方法、装置、电子设备及存储介质
CN114116509A (zh) 程序分析方法、装置、电子设备和存储介质
CN113377648A (zh) 软件系统诊断方法、装置、电子设备及计算机可读介质
CN109799981B (zh) 一种基于执行链的集成系统及方法
CN110221952B (zh) 业务数据的处理方法及装置、业务数据处理系统
CN114679491A (zh) 微前端服务应用方法、装置、存储介质及电子设备
CN112052054A (zh) 函数调用方法、装置、电子设备及存储介质
CN110647331A (zh) 开发工具的获取方法及装置、存储介质、电子设备
CN112506592A (zh) 页面加载时长的确定方法、装置、设备和存储介质
CN112817813B (zh) 基于react hooks的数据收集方法、装置及设备
CN113986138A (zh) 资源删除方法、装置、电子设备及存储介质
CN113568657A (zh) 图标配置方法、图标配置系统、电子设备和介质
CN117472716A (zh) 非入侵式应用日志采集方法、装置、设备及存储介质
CN115543306A (zh) 页面渲染方法和装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant