CN112559069B - 子应用的运行控制方法、装置、存储介质和电子设备 - Google Patents
子应用的运行控制方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN112559069B CN112559069B CN202011443431.7A CN202011443431A CN112559069B CN 112559069 B CN112559069 B CN 112559069B CN 202011443431 A CN202011443431 A CN 202011443431A CN 112559069 B CN112559069 B CN 112559069B
- Authority
- CN
- China
- Prior art keywords
- application
- native page
- module
- sub
- function
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000001960 triggered effect Effects 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 313
- 230000004044 response Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 35
- 238000012545 processing Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000012905 input function Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种子应用的运行控制方法、装置、存储介质和电子设备,属于计算机技术领域。本申请的子应用的运行控制方法,在启动子应用时,加载子应用的原生页面,并在该原生页面中显示子应用的功能模块的操作界面。如果接收到在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过原生页面获取多媒体数据并播放多媒体数据。由于在子应用运行过程中,只可能在原生页面中存在不同的功能模块之间的跳转,而不会在不同的原生页面之间进行跳转。因此,在子应用运行过程中,通过原生页面对应的浏览器组件播放的多媒体数据不会因为原生页面跳转而受到影响或中断播放。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种子应用的运行控制方法、装置、存储介质和电子设备。
背景技术
随着通信技术的发展和智能终端的普及,子应用作为轻型应用已成为移动互联网应用的重要形式,如用户可以通过基于第三方应用的子应用来***业务或进行社交活动等。其中,第三方应用可以是社交应用,如即时通讯应用等。由于子应用具有不需要下载安装即可使用的特点,不会占用电子设备的存储空间,因此得到用户的广泛认可。
目前,一个子应用中通常包括多个原生页面,每个原生页面可以完成子应用的一项功能,不同的原生页面完成不同的功能。在子应用运行过程中,经常会由一个原生页面跳转至另一个原生页面。如果在某一原生页面中正在播放音视频实时通话、音频等多媒体数据,在由该原生页面跳转至另一个原生页面时,多媒体数据会中断播放。
发明内容
为解决现有存在的技术问题,本申请实施例提供一种子应用的运行控制方法、装置、存储介质和电子设备,可以防止正在播放的多媒体数据,在子应用的原生页面跳转过程中中断播放。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供了一种子应用的运行控制方法,所述方法包括:
显示母应用的操作界面;
响应于在所述母应用的操作界面中启动子应用的操作,加载所述子应用的原生页面;所述子应用包括多个功能模块,每个功能模块关联有一个操作界面;所述原生页面用于展示所述子应用的功能模块的操作界面;
响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过所述原生页面获取多媒体数据并播放所述多媒体数据。
第二方面,本申请实施例还提供了一种子应用的运行控制装置,所述装置包括:
原生页面加载单元,用于显示母应用的操作界面,响应于在所述母应用的操作界面中启动子应用的操作,加载所述子应用的原生页面;所述子应用包括多个功能模块,每个功能模块关联有一个操作界面;所述原生页面用于展示所述子应用的功能模块的操作界面;
多媒体数据运行单元,用于响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过所述原生页面获取多媒体数据并播放所述多媒体数据。
在一种可选的实施例中,所述原生页面具有加载生命周期函数和显示生命周期函数;所述原生页面加载单元,具体用于:
响应于在所述母应用的操作界面中启动子应用的操作,通过所述子应用的原生页面对应的浏览器组件调用所述原生页面的加载生命周期函数,以加载所述子应用的原生页面;
调用所述原生页面的显示生命周期函数,以显示所述子应用的原生页面。
在一种可选的实施例中,每个所述功能模块均具有模块加载生命周期函数和模块显示生命周期函数;所述原生页面加载单元,还用于:
通过所述原生页面的显示生命周期函数调用各个功能模块的模块加载生命周期函数,以加载所述各个功能模块;
将设置的初始功能模块的路由路径作为在所述原生页面中显示的操作界面的路由路径;
通过所述原生页面的显示生命周期函数调用所述初始功能模块的模块显示生命周期函数,以通过所述原生页面显示所述初始功能模块的操作界面。
在一种可选的实施例中,所述装置还包括界面跳转控制单元,用于:
响应于在当前显示的功能模块的操作界面中输入的操作界面切换操作,隐藏所述当前显示的功能模块的操作界面;
通过所述原生页面显示目标功能模块的操作界面;所述目标功能模块为所述操作界面切换操作指示跳转的目标功能模块。
在一种可选的实施例中,所述界面跳转控制单元,具体用于:
确定所述操作界面切换操作指示跳转的目标功能模块的路由路径;
将操作界面的路由路径由所述当前显示的功能模块的路由路径切换至所述目标功能模块的路由路径;
通过所述原生页面显示所述目标功能模块的操作界面。
在一种可选的实施例中,所述原生页面具有隐藏生命周期函数和显示生命周期函数;每个所述功能模块均具有模块隐藏生命周期函数和模块显示生命周期函数;所述界面跳转控制单元,还用于:
通过所述原生页面的隐藏生命周期函数调用所述当前显示的功能模块的模块隐藏生命周期函数,以隐藏所述当前显示的功能模块的操作界面;
通过所述原生页面的显示生命周期函数调用所述目标功能模块的模块显示生命周期函数,以显示所述目标功能模块的操作界面。
在一种可选的实施例中,所述原生页面具有路由配置信息,所述路由配置信息中存储有各个功能模块的名称与路由路径的对应关系;所述界面跳转控制单元,具体用于:
确定所述操作界面切换操作指示跳转的目标功能模块的名称;
根据所述目标功能模块的名称,从所述原生页面的路由配置信息中查找所述目标功能模块的路由路径。
在一种可选的实施例中,所述界面跳转控制单元,还用于:
分别获取所述子应用的各个功能模块的名称和路由路径;
对于各个功能模块,将所述功能模块的名称与路由路径进行关联存储,得到所述原生页面的路由配置信息。
在一种可选的实施例中,所述多媒体数据运行单元,还用于:
响应于在当前显示的功能模块的操作界面中触发的结束多媒体数据接入操作,停止播放所述多媒体数据;或者,
响应于在所述子应用的原生页面中退出子应用的操作,停止播放所述多媒体数据。
在一种可选的实施例中,所述原生页面具有卸载生命周期函数;每个所述功能模块均具有模块卸载生命周期函数;所述装置还包括原生页面卸载单元,用于:
响应于在所述子应用的原生页面中退出子应用的操作,调用所述原生页面的卸载生命周期函数,并通过所述原生页面的卸载生命周期函数调用各个功能模块的模块卸载生命周期函数,以卸载所述各个功能模块;
通过所述原生页面的卸载生命周期函数卸载所述子应用的原生页面。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的子应用的运行控制方法。
第四方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的子应用的运行控制方法。
本申请实施例提供的子应用的运行控制方法、装置、存储介质和电子设备,子应用包括一个原生页面和多个功能模块,每个功能模块关联有一个操作界面,子应用的原生页面用于展示子应用的功能模块的操作界面。在启动子应用时,加载子应用的原生页面,并在该原生页面中显示子应用的功能模块的操作界面。如果接收到在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过原生页面获取多媒体数据并播放多媒体数据。由于在子应用运行过程中,只可能在原生页面中存在不同的功能模块之间的跳转,而不会在不同的原生页面之间进行跳转。因此,在子应用运行过程中,通过原生页面对应的浏览器组件播放的多媒体数据不会因为原生页面跳转而受到影响或中断播放。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种子应用的运行控制方法的应用场景的示意图;
图2为本申请实施例提供的一种功能模块的创建过程示意图;
图3为本申请实施例提供的一种功能模块合并的过程示意图;
图4为本申请实施例提供的一种子应用的运行控制方法的流程图;
图5为本申请实施例提供的一种子应用的运行控制的界面示意图;
图6为本申请实施例提供的另一种子应用的运行控制的界面示意图;
图7为本申请实施例提供的另一种子应用的运行控制的界面示意图;
图8为本申请实施例提供的另一种子应用的运行控制方法的流程图;
图9为本申请实施例提供的一种功能模块切换的过程示意图;
图10为本申请实施例提供的另一种功能模块切换的过程示意图;
图11为本申请实施例提供的一种子应用的运行控制装置的结构示意图;
图12为本申请实施例提供的另一种子应用的运行控制装置的结构示意图;
图13为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)子应用:不需要下载安装就可以基于终端设备上的第三方应用运行的应用程序。子应用可以包括基于即时通讯应用运行的小程序等。
(2)原生页面:子应用中的页面形式,用于承载或实现子应用的一项或多项功能。在本申请实施例中,一个子应用具有一个原生页面,原生页面可以承载该子应用的各个功能模块,以及展示各个功能模块关联的操作界面。
(3)功能模块:一个子应用可以包括多个功能模块,每个功能模块可以完成子应用的一项功能,不同的功能模块可以完成不同的功能,多个功能模块可以承载在子应用的原生页面中,因此也可以称为原生页面的子模块。每个功能模块都关联有一个操作界面,每个功能模块关联的操作界面可以通过子应用的原生页面进行展示。
(4)生命周期函数:子应用中的原生页面和功能模块均可以称为对象。在子应用中,一个对象的创建、运行、以及销毁过程,总是伴随着相应的事件,这些事件称为生命周期函数,可以包括加载生命周期函数、显示生命周期函数、隐藏生命周期函数和卸载生命周期函数等。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为更好地理解本申请实施例提供的技术方案,下面对本申请实施例提供的技术方案适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例所提供的子应用的运行控制方法可以应用于图1示出的应用场景中。参见图1所示,服务器100通过网络200与终端设备300进行通信连接,其中,网络200可以是但不限于局域网、城域网或广域网等,与服务器100连接的终端设备300的数量可以是多个。终端设备300可以通过网络200和服务器100相互传输通信数据和消息。
终端设备300可以是便携设备(例如:手机、平板电脑、笔记本电脑等),也可以是计算机、智能屏或个人电脑(PC,Personal Computer)等。服务器100可以是一台服务器或由若干台服务器组成的服务器集群或云计算中心,或者是一个虚拟化平台,也可以是个人计算机、大中型计算机或计算机集群等。根据实现需要,本申请实施例中的应用场景中可以具有任意数目的终端设备和服务器。本申请实施例对此不做特殊限定。
示例性地,终端设备300上安装有即时通讯应用,多个子应用可以基于该即时通讯应用运行。用户可以通过终端设备300上安装的即时通讯应用启动一个子应用。终端设备300接收到用户启动某个子应用的操作,终端设备300从服务器100下载该子应用的相关数据,并运行该子应用。
相关技术中,子应用中通常包含有多个原生页面,每个原生页面可以实现一项功能。例如,一个音乐小程序中,一个原生页面用于向用户展示各个可供选择的音乐列表,另一个原生页面用于播放用户选中的音乐等。在子应用运行过程中,当需要显示第一原生页面时,先启动一个Webview(浏览器)组件,用于加载第一原生页面。如果用户在第一原生页面中开启音视频实时通话功能,可以通过该Webview组件调用终端设备的麦克风、摄像头、扬声器等硬件使用接口,以播放和采集音视频等多媒体数据。当需要从第一原生页面切换到第二原生页面时,中断第一原生页面对应的Webview组件,开启一个新的Webview组件,用于加载第二原生页面。第一原生页面对应的Webview组件与第二原生页面对应的Webview组件是相互独立的Webview组件。当第一原生页面对应的Webview组件中断时,基于第一原生页面正在播放的多媒体数据也随之中断。
为了防止在子应用的页面跳转过程中正在播放的多媒体数据中断播放,本申请实施例提供了一种子应用的运行控制方法。本申请实施例提供的子应用运行控制方法,可以由用于进行子应用运行控制的电子设备执行,或者说由电子设备上安装的承载该子应用的第三方应用的客户端执行。该电子设备可以是终端设备300,终端设备300或第三方应用的客户端接收到用户启动某个子应用的操作,可以从服务器100下载该子应用的原生页面等相关数据并保存在本地,然后运行该子应用。该子应用的原生页面为一个,并且原生页面中可以包括有多个功能模块。在子应用启动时,可以启动原生页面对应的Webview组件加载子应用的原生页面,进而加载原生页面中的各个功能模块。如果用户在原生页面展示的第一功能模块关联的操作界面中触发多媒体数据接入操作,该多媒体数据接入操作可以是开启音视频实时通话功能的操作,第三方应用的客户端可以通过原生页面对应的Webview组件调用终端设备的麦克风、摄像头、扬声器等硬件使用接口,以播放和采集音视频等多媒体数据。当需要从第一功能模块跳转到第二功能模块时,由于功能模块之间的跳转不需要再重新启动原生页面对应的Webview组件,因此,通过原生页面对应的浏览器组件播放的多媒体数据可以继续播放,而不会受到影响或者中断播放。
为了更方便理解本申请实施例,下文首先介绍本申请实施例提供的子应用的原生页面的创建过程。该创建过程由子应用开发设备执行,或者说,子应用开发人员在子应用开发设备上完成子应用的原生页面的创建过程。
图2示出了子应用中的一个功能模块的创建过程,该功能模块可以是子应用中的任意一个功能模块,本实施例以该功能模块的创建过程为例进行详细介绍,其他功能模块的创建过程与此相同。
如图2所示,创建子应用的一个功能模块,可以包括如下步骤:
步骤S201,创建功能模块对应的模板文件和js文件。
模板文件和js文件均可以由子应用开发人员进行选择和配置。其中,js文件可以是XX.wxml文件和XX.js文件。XX.wxml文件用于XX模块的视图展示,XX.js文件用于实现XX模块的生命周期和自定义逻辑控制。
步骤S202,为功能模块命名。
在完成功能模块的模板文件和js文件创建后,可以为该功能模块进行命名,也就是说,为功能模块增加name属性,或者说,为功能模块设置名称,例如,该功能模块的名称可以是module1。功能模块的名称也可以由命名子应用开发人员输入。功能模块的名称是功能模块的唯一标识,可以用于各个功能模块之间的路由切换,因此,各个功能模块的名称不允许重复。
子应用开发设备在接收到子应用开发人员输入的功能模块的名称后,可以将输入的功能模块名称与已有的功能模块名称进行一一比对。如果已有的功能模块名称没有与输入的功能模块名称相同的名称,则比对结果为0,表示输入的功能模块名称与已有的功能模块名称不重复,允许该功能模块命名为子应用开发人员输入的名称;如果已有的功能模块名称有与输入的功能模块名称相同的名称,则比对结果为1,表示输入的功能模块名称与已有的功能模块名称存在重复,则子应用开发设备将弹出一个功能模块命名重复提示信息,提示子应用开发人员为该功能模块重新输入一个名称。
步骤S203,在js文件中添加生命周期函数。
步骤S203也可以在步骤S202之前执行,即在功能模块命名之前或之后,可以在创建完成的js文件中添加生命周期函数。功能模块的生命周期函数可以包括模块加载生命周期函数onLoad、模块显示生命周期函数onShow、模块隐藏生命周期函数onHide和模块卸载生命周期函数onUnload。在js文件中添加生命周期函数的同时,还可以为每种生命周期函数编写相应的处理逻辑。
步骤S204,在功能模块中增加自定义逻辑。
功能模块的自定义逻辑可以包括自定义数据和自定义处理逻辑。自定义数据是在功能模块的data中增加自定义的数据内容,例如,可以包括key1、key2和key3等数据内容。在后续合并到原生页面时,功能模块的自定义数据会根据功能模块的名称(即name属性)增加前缀,因此功能模块的自定义数据的命名相对随意,即使与其他功能模块中的自定义数据命名相同,在合并到原生页面时,也不会因命名重复而被覆盖。
自定义处理逻辑可以包括响应页面操作的事件、模块内封装的私有函数等,并且自定义处理逻辑的命名不允许重复。自定义处理逻辑也可以理解为自定义函数,在后续合并到原生页面时,功能模块的自定义函数不会增加前缀,因此各个功能模块的自定义函数的命名不允许重复;也就是说,一个功能模块的自定义函数的命名既不能与该功能模块的其他自定义函数的命名相同,也不能与其他功能模块的自定义函数的命名相同。
在子应用的各个功能模块创建完成后,可以创建子应用的原生页面,并将创建完成的各个功能模块引入到原生页面中。创建子应用的原生页面的过程,可以包括如下步骤:
步骤a、创建子应用的原生页面。
首先创建一个原生页面,可以同时创建该原生页面的生命周期函数,包括加载生命周期函数onLoad、显示生命周期函数onShow、隐藏生命周期函数onHide和卸载生命周期函数onUnload,创建完成的原生页面将是各个功能模块的载体,用于承载按照图2所示的方法创建的各个功能模块。
步骤b、向原生页面中添加功能模块。
在子应用的原生页面创建完成后,可以将所有需要的各个功能模块的文件添加到原生页面中,包括功能模块的模板文件和js文件。在该步骤中,子应用开发设备向子应用开发人员展示可以添加到原生页面中的功能模块,子应用开发人员从子应用开发设备中选择所需的功能模块,子应用开发设备将子应用开发人员选定的功能模块添加到原生页面中,或者说,子应用开发设备将上述功能模块的模板文件和js文件保存至原生页面对应的存储区域。
在该步骤中,子应用开发人员还可以设置默认的初始功能模块。在子应用启动时,显示原生页面之后,自动在原生页面中显示该默认的初始功能模块关联的操作界面。
步骤c、获取各个功能模块的名称、自定义数据、模块生命周期函数和自定义处理函数。
对于子应用开发人员选定的各个功能模块,从各个功能模块的模板文件和js文件中分别获取各个功能模块的名称、自定义数据、模块生命周期函数和自定义处理函数。
步骤d、根据各个功能模块的名称和路由路径,生成路由配置信息。
对于每个功能模块,获取该功能模块的路由路径,路由路径指该功能模块的存储地址相对于原生页面对应的存储区域的首地址的偏移地址。建立各个功能模块的名称与其路由路径之间的对应关系,并生成路由配置信息,用于存储各个功能模块的名称与其路由路径之间的对应关系。
步骤e、将获取的各个功能模块的自定义数据、模块生命周期函数和自定义处理函数合并到原生页面中。
具体地,如图3所示,可以将各个功能模块的自定义数据增加对应功能模块的名称作为前缀后,合并到原生页面的自定义数据中,将各个功能模块的自定义处理函数作为至原生页面的自定义处理函数,并建立原生页面的各生命周期函数与各个功能模块的模块生命周期函数之间的关联关系。示例性地,建立原生页面的显示生命周期函数与各个功能模块的加载生命周期函数及各个功能模块的显示生命周期函数之间的关联关系,以使原生页面的显示生命周期函数可以调用各个功能模块的加载生命周期函数和各个功能模块的显示生命周期函数。
例如,可以按照上述过程将4个功能模块合并到原生页面中,最后得到如图3所示的原生页面,该原生页面中包括有4个功能模块。
通过上述方法,可以将子应用的多个功能模块集成到一个原生页面中,每个功能模块的创建过程与原生页面的创建过程类似,因此,对于相关技术中包含多个原生页面的子应用,只需做较小的改动即可将多页面形式改造成单页面形式,所需做的改动包括:将每个原生页面作为一个功能模块,新建一个原生页面用于承载各个功能模块,以及将所有功能模块合并至新建的原生页面中。同时,如果需要将单页面形式还原成多页面形式,也仅需要做较小的改动,包括,从新建的原生页面中分离出各个功能模块,将各个功能模块作为原生页面保存。该方式能有效降低已有子应用的页面改造以及开发新的单页面的子应用的成本。
子应用的原生页面及相关数据和文件创建完成后,可以保存至相应的服务器,如图1所示的服务器100。根据上述方法创建得到的子应用中包括一个原生页面和多个功能模块,原生页面作为多个功能模块的承载,用于承载多个功能模块。当某个终端设备上安装的第三方应用的客户端启动该子应用时,终端设备可以从服务器100下载该子应用的原生页面等相关数据并保存在本地,然后运行子应用,子应用的运行过程将在下文中参照图4详细介绍。
图4示出了本申请实施例提供的一种子应用的运行控制方法的流程图,该方法可以由图1中的终端设备300执行,即由安装在终端设备上的第三方应用,如即时通讯应用的客户端执行,也可以由其它电子设备执行。示例性地,下文以用于承载并运行子应用的即时通讯应用的客户端作为执行主体,说明本申请实施例的子应用的运行控制方法的具体实现过程。
如图4所示,该子应用的运行控制方法包括如下步骤:
步骤S401,显示母应用的操作界面。
母应用可以是承载子应用的第三方应用,如图5中的页面a所示即为母应用的操作界面。
步骤S402,响应于在母应用的操作界面中启动子应用的操作,加载子应用的原生页面。
用户可以在即时通讯应用中启动子应用,以子应用为即时通讯应用中的小程序为例,用户点击图5中的页面a所示的即时通讯应用中的“小程序”图标,进入如图5中的页面b所示的小程序展示界面,小程序展示界面中显示有多个小程序的图标,用户点击其中的“XX会议”的图标,可以启动该小程序或者说子应用。
即时通讯应用的客户端接收到用户输入的启动子应用操作,通过子应用的原生页面对应的浏览器组件加载子应用的原生页面。该浏览器组件可以是Webview,子应用可以包括多个功能模块,每个功能模块都关联有一个操作界面,子应用的原生页面可以用于展示子应用的功能模块的操作界面。
在一种实施例中,子应用的原生页面具有加载生命周期函数onLoad和显示生命周期函数onShow,当用户在即时通讯应用中启动子应用,即时通讯应用的客户端接收到用户输入的启动子应用操作,通过子应用的原生页面对应的浏览器组件调用原生页面的加载生命周期函数onLoad,以加载子应用的原生页面,再调用原生页面的显示生命周期函数onShow,以显示子应用的原生页面onShow。
在一些实施例中,即时通讯应用的客户端接收到用户输入的启动子应用操作,可以通过原生页面对应的浏览器组件调用原生页面的加载生命周期函数onLoad,以加载原生页面,而后调用原生页面的显示生命周期函数onShow,显示子应用的原生页面。在子应用的原生页面显示之后,可以通过原生页面的显示生命周期函数onShow调用各个功能模块的模块加载生命周期函数onLoad,以加载各个功能模块,然后将设置的默认显示的初始功能模块的路由路径作为在原生页面中显示的操作界面的路由路径,通过原生页面的显示生命周期函数onShow调用初始功能模块的模块显示生命周期函数onShow,以通过原生页面显示初始功能模块的操作界面。
通过原生页面显示初始功能模块的操作界面之后,可以根据用户的界面跳转操作进行操作界面的切换,通过原生页面显示子应用的其他功能模块的操作界面。
步骤S403,响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过原生页面获取多媒体数据并播放多媒体数据。
示例性地,一些功能模块的操作界面中设置有音视频实时通话功能按键,如音频通话按键、视频通话按键、视频会议按键或电话会议按键等。当用户点击音视频实时通话功能按键时,即时通讯应用的客户端接收到用户在当前显示的功能模块的操作界面中触发的多媒体数据接入操作。另一些功能模块的操作界面中设置有音视频播放按键,如音乐播放按键或视频播放按键等,当用户点击音视频实时通话功能按键时,即时通讯应用的客户端接收到用户在当前显示的功能模块的操作界面中触发的多媒体数据接入操作。
即时通讯应用的客户端响应于上述多媒体数据接入操作,通过原生页面对应的浏览器组件获取并播放多媒体数据。
在一些实施例中,即时通讯应用的客户端可以通过原生页面对应的浏览器组件获取并播放终端设备中保存的多媒体数据。例如,用户要通过子应用播放终端设备中存储的某一音乐文件,可以在子应用的音频播放功能模块的操作界面上点击音乐播放按键,该终端设备为安装并运行该即时通讯应用的客户端的终端设备。即时通讯应用的客户端接收到用户的该操作,显示终端设备中存储的音频文件,用户从显示的音频文件中选择一个音乐文件,即时通讯应用的客户端通过原生页面对应的浏览器组件调用终端设备的扬声器的硬件使用接口,使用终端设备的扬声器播放该音乐文件。
在另一些实施例中,即时通讯应用的客户端可以通过原生页面对应的浏览器组件获取并播放网络上的多媒体数据。例如,在子应用的音频播放功能模块的操作界面上展示有多个音频,这些音频均为某个网站上发布的音频,当用户点击其中一个音频时,即时通讯应用的客户端可以通过原生页面对应的浏览器组件调用终端设备的通信模块的硬件使用接口从网络上获取到该音频,并调用终端设备的扬声器的硬件使用接口,使用终端设备的扬声器播放该音频。
在另一些实施例中,用户在点击即时通讯应用中其他用户发送的多媒体数据时,可以通过子应用的原生页面对应的浏览器组件获取并播放该多媒体数据。例如,其他用户将子应用的音频播放功能模块的操作界面中展示的某一音频通过即时通讯应用发送给用户,用户在点击该音频后,即时通讯应用中的客户端可以调用子应用,通过子应用的原生页面对应的浏览器组件调用终端设备的扬声器的硬件使用接口,使用终端设备的扬声器播放该音频。
在一种可选的实施例中,如图6所示,在子应用“XX会议”中,如果用户在当前显示的功能模块的操作界面中点击“电话会议”按键,即时通讯应用中的客户端接收到用户输入的多媒体数据接入操作,通过原生页面对应的浏览器组件调用终端设备的通信模块的硬件使用接口通过网络接收电话会议的对端用户的语音数据,并调用终端设备的扬声器的硬件使用接口,使用终端设备的扬声器播放接收到的语音数据。并且,即时通讯应用中的客户端还通过原生页面对应的浏览器组件调用终端设备的麦克风的硬件使用接口,采集本地用户的语音数据,并调用终端设备的通信模块的硬件使用接口,通过网络将本地用户的语音数据传输至对端用户的终端设备。也就是说,在一些实施例中,子应用的运行控制方法还可以包括:响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过所述原生页面对应的浏览器组件采集多媒体数据并传输该多媒体数据。
在上述实施例的基础上,图8示出了本申请实施例提供的另一种子应用的运行控制方法的流程图,如图8所示,该方法可以包括如下步骤:
步骤S801,响应于启动子应用的操作,加载子应用的原生页面。
步骤S802,通过子应用的原生页面显示子应用的功能模块的操作界面。
步骤S803,响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过原生页面获取多媒体数据并播放多媒体数据。
其中,多媒体数据可以是视频数据,也可以是音频数据,如语音数据等。例如,如图6所示,如果用户在当前显示的功能模块的操作界面中点击“电话会议”按键,即时通讯应用中的客户端接收到用户输入的多媒体数据接入操作,通过原生页面对应的浏览器组件获取并播放电话会议的对端用户的语音数据,以及采集并传输本地用户的语音数据。
步骤S804,响应于在当前显示的功能模块的操作界面中输入的操作界面切换操作,隐藏当前显示的功能模块的操作界面。
步骤S805,通过原生页面显示操作界面切换操作指示的目标功能模块的操作界面。
用户可以根据使用需要在切换正在显示的功能模块的操作界面。例如,当前显示的功能模块的操作界面中设置有“下一页”按键,该按键指示切换至设定的下一功能模块的操作界面。用户可以通过点击该按键切换至下一功能模块的操作界面。又如,用户在进行电话会议的过程中,还要完成编辑日程的任务。用户在图6所示的功能模块的操作界面中点击“编辑日程”按键,“编辑日程”按键指示切换至图7所示的目标功能模块的操作界面,用户可以在该操作界面中新建日程、修改日程等。在本申请实施例中,当显示图7所示的目标功能模块的操作界面时,电话会议会继续进行,会议中的语音数据正常接收和播放,不会受到影响或中断。
在一种实施例中,即时通讯应用中的客户端接收到用户输入的操作界面切换操作,确定该切换操作指示的目标功能模块,可以通过原生页面的隐藏生命周期函数调用当前显示的功能模块的模块隐藏生命周期函数onHide,以隐藏当前显示的功能模块的操作界面。并且,可以通过原生页面的显示生命周期函数调用目标功能模块的模块显示生命周期函数onShow,以显示目标功能模块的操作界面。
例如,如图9所示,当前显示的功能模块的操作界面为功能模块1的操作界面时,用户输入的操作界面切换操作指示切换至功能模块2的操作界面。此时,功能模块2为目标功能模块。即时通讯应用中的客户端接收到该操作界面切换操作,可以通过原生页面的隐藏生命周期函数调用当前显示的功能模块1的模块隐藏生命周期函数onHide,以隐藏功能模块1的操作界面。然后,可以通过原生页面的显示生命周期函数调用功能模块2的模块显示生命周期函数onShow,以显示功能模块2的操作界面。
在另一种实施例中,即时通讯应用中的客户端接收到用户输入的操作界面切换操作,可以通过原生页面的隐藏生命周期函数调用当前显示的功能模块的模块隐藏生命周期函数onHide,以隐藏当前显示的功能模块的操作界面。并且,确定操作界面切换操作指示跳转的目标功能模块的路由路径,将操作界面的路由路径由当前显示的功能模块的路由路径切换至目标功能模块的路由路径。
具体地,由于原生页面具有路由配置信息,该路由配置信息中存储有各个功能模块的名称与路由路径的对应关系,因此可以先确定出操作界面切换操作指示跳转的目标功能模块的名称,再根据目标功能模块的名称,从原生页面的路由配置信息中查找目标功能模块的路由路径,进而确定出操作界面切换操作指示跳转的目标功能模块的路由路径。例如,用户点击某个按键触发操作界面切换操作,该按键关联有操作界面切换操作指示跳转的目标功能模块的名称,根据目标功能模块的名称,从原生页面的路由配置信息中查找目标功能模块的路由路径。根据该路由路径,可以将操作界面的路由路径由当前显示的功能模块的路由路径切换到目标功能模块的路由路径。而后可以通过原生页面的显示生命周期函数调用目标功能模块的模块显示生命周期函数onShow,以显示目标功能模块的操作界面。
例如,如图10所示,当从当前显示的功能模块1的操作界面切换到功能模块4的操作界面时,可以先通过原生页面的隐藏生命周期函数onHide,调用功能模块1的模块隐藏生命周期函数onHide,以隐藏当前显示的功能模块1的操作界面。接着根据原生页面的路由配置信息中存储的功能模块4的名称与路由路径的对应关系,查找功能模块4的路由路径,根据功能模块4的路由路径,将操作界面的路由路径由当前显示的功能模块1的路由路径切换到功能模块4的路由路径,最后通过原生页面的显示生命周期函数onShow调用功能模块4的模块显示生命周期函数onShow,以显示功能模块4的操作界面。
在一种实施例中,在通过原生页面对应的浏览器组件获取并播放多媒体数据之后,用户可以停止该多媒体数据的播放,即时通讯应用的客户端在接收到用户的停止播放操作,响应于在当前显示的功能模块的操作界面中触发的结束多媒体数据接入操作,停止播放该多媒体数据。例如,用户可以在返回电话会议的操作界面后,通过点击退出会议按键,停止电话会议。即时通讯应用的客户端接收到用户输入的退出电话会议的操作,停止接收并播放会议的语音数据并退出会议。
步骤S806,响应于退出子应用的操作,卸载子应用的原生页面。
用户退出子应用或停止子应用的运行时,即时通讯应用的客户端接收到用户退出子应用的操作,通过子应用的原生页面对应的浏览器组件调用原生页面的卸载生命周期函数onUnload,通过原生页面的卸载生命周期函数onUnload进一步调用各个功能模块的模块卸载生命周期函数onUnload,以卸载各个功能模块。如果此时多媒体数据仍在播放,则停止播放多媒体数据,通过原生页面的卸载生命周期函数onUnload,卸载子应用的原生页面及原生页面关联的数据,从而将该子应用从即时通讯应用中卸载。
上述子应用的运行控制方法,子应用包括一个原生页面和多个功能模块,每个功能模块关联有一个操作界面,子应用的原生页面用于展示子应用的功能模块的操作界面。在启动子应用时,通过子应用的原生页面对应的浏览器组件加载子应用的原生页面,并在该原生页面中显示子应用的功能模块的操作界面。如果接收到在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过原生页面对应的浏览器组件获取多媒体数据并播放多媒体数据。由于在子应用运行过程中,只可能在原生页面中存在不同的功能模块之间的跳转,而不会在不同的原生页面之间进行跳转。因此,在子应用运行过程中,通过原生页面对应的浏览器组件播放的多媒体数据不会因为原生页面跳转而受到影响或中断播放。
相关技术中,子应用中包含有多个原生页面。部分子应用中,当音频数据在当前原生页面中正在运行时,如果从当前原生页面切换至另一原生页面,页面切换过程中可以将当前原生页面的音频数据的播放状态通过传参或者全局共享数据的方式传递到另一原生页面,另一原生页面并不会继续播放当前页面的音频数据,而是在由另一原生页面切换回当前原生页面时,当前原生页面可以根据全局共享数据刷新音频数据的播放状态。因此,在由当前原生页面切换至另一原生页面时,正在播放的音频数据仍会中断播放。上述过程中,音频播放需要在多个原生页面之间传递和共享数据,返回当前原生页面时还需要再刷新一次,子应用开发过程中实现起来就比较麻烦,且这些相似的代码在多个原生页面都存在,维护成本较高。并且,如果当前原生页面中播放的是音视频实时通话数据,则其播放状态无法通过传参或者全局共享数据的方式在原生页面间进行传递,因此,切换原生页面时,正在播放的音视频实时通话数据直接终端,即使切换回当前原生页面,也无法继续进行。
而本申请实施例提供的方法中,子应用包含的多个功能模块所关联的操作界面都采用一个原生页面进行展示,也就是说,子应用的所有功能在一个原生页面中实现,通过控制隐藏和显示不同功能模块来达到切换不同功能的操作界面的目的。在操作界面的切换过程中,不会影响音频数据、视频数据或音视频实时通话数据的正常播放,并且,可以降低子应用的维护成本,使得运行控制子应用的过程比较简单。
与图4所示的子应用的运行控制方法基于同一发明构思,本申请实施例中还提供了一种子应用的运行控制装置,该子应用的运行控制装置可以布设在终端设备中。由于该装置是本申请子应用的运行控制方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图11示出了本申请实施例提供的一种子应用的运行控制装置的结构示意图,如图11所示,该子应用的运行控制装置包括原生页面加载单元1101和多媒体数据运行单元1102。
其中,原生页面加载单元1101,用于显示母应用的操作界面,响应于在母应用的操作界面中启动子应用的操作,加载子应用的原生页面;子应用包括多个功能模块,每个功能模块关联有一个操作界面;原生页面用于展示子应用的功能模块的操作界面;
多媒体数据运行单元1102,用于响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过原生页面获取多媒体数据并播放多媒体数据。
在一种可选的实施例中,原生页面具有加载生命周期函数和显示生命周期函数;原生页面加载单元1101,具体用于:
响应于在母应用的操作界面中启动子应用的操作,通过子应用的原生页面对应的浏览器组件调用原生页面的加载生命周期函数,以加载子应用的原生页面;
调用原生页面的显示生命周期函数,以显示子应用的原生页面。
在一种可选的实施例中,每个功能模块均具有模块加载生命周期函数和模块显示生命周期函数,原生页面加载单元1101,还用于:
通过原生页面的显示生命周期函数调用各个功能模块的模块加载生命周期函数,以加载各个功能模块;
将设置的初始功能模块的路由路径作为在原生页面中显示的操作界面的路由路径;
通过原生页面的显示生命周期函数调用初始功能模块的模块显示生命周期函数,以通过原生页面显示初始功能模块的操作界面。
在一种可选的实施例中,如图12所示,上述子应用的运行控制装置还可以包括界面跳转控制单元1201,用于:
响应于在当前显示的功能模块的操作界面中输入的操作界面切换操作,隐藏当前显示的功能模块的操作界面;
通过原生页面显示目标功能模块的操作界面;目标功能模块为操作界面切换操作指示跳转的目标功能模块。
在一种可选的实施例中,界面跳转控制单元1201,具体用于:
确定操作界面切换操作指示跳转的目标功能模块的路由路径;
将操作界面的路由路径由当前显示的功能模块的路由路径切换至目标功能模块的路由路径;
通过原生页面显示目标功能模块的操作界面。
在一种可选的实施例中,原生页面具有隐藏生命周期函数和显示生命周期函数;每个功能模块均具有模块隐藏生命周期函数和模块显示生命周期函数;界面跳转控制单元1201,还用于:
通过原生页面的隐藏生命周期函数调用当前显示的功能模块的模块隐藏生命周期函数,以隐藏当前显示的功能模块的操作界面;
通过原生页面的显示生命周期函数调用目标功能模块的模块显示生命周期函数,以显示目标功能模块的操作界面。
在一种可选的实施例中,原生页面具有路由配置信息,路由配置信息中存储有各个功能模块的名称与路由路径的对应关系;界面跳转控制单元1201,具体用于:
确定操作界面切换操作指示跳转的目标功能模块的名称;
根据目标功能模块的名称,从原生页面的路由配置信息中查找目标功能模块的路由路径。
在一种可选的实施例中,界面跳转控制单元1201,还用于:
分别获取子应用的各个功能模块的名称和路由路径;
对于各个功能模块,将功能模块的名称与路由路径进行关联存储,得到原生页面的路由配置信息。
在一种可选的实施例中,多媒体数据运行单元1102,还用于:
响应于在当前显示的功能模块的操作界面中触发的结束多媒体数据接入操作,停止播放多媒体数据;或者,
响应于在子应用的原生页面中退出子应用的操作,停止播放多媒体数据。
在一种可选的实施例中,原生页面具有卸载生命周期函数;每个功能模块均具有模块卸载生命周期函数;如图12所示,上述子应用的运行控制装置还可以包括原生页面卸载单元1202,用于:
响应于在子应用的原生页面中退出子应用的操作,调用原生页面的卸载生命周期函数,并通过原生页面的卸载生命周期函数调用各个功能模块的模块卸载生命周期函数,以卸载各个功能模块;
通过原生页面的卸载生命周期函数卸载子应用的原生页面。
与上述方法实施例和装置实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。可以是手机、平板电脑、POS(Point of Sales,销售终端)、车载电脑、智能穿戴设备、PC机等任意电子设备,示例性地,该电子设备也可以是图1中所示的终端设备300。
图13示出了一种本申请实施例提供的电子设备的结构框图。如图13所示,该电子设备包括:射频(Radio Frequency,RF)电路310、存储器320、输入单元330、显示单元340、传感器350、音频电路360、无线保真(wireless fidelity,WiFi)模块370、处理器380等部件。本领域技术人员可以理解,图13中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图13对电子设备的各个构成部件进行具体的介绍:
RF电路310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器380处理;另外,将设计上行的数据发送给基站。
存储器320可用于存储软件程序以及模块,如本申请实施例中的子应用的运行控制方法以及装置对应的程序指令/模块,处理器380通过运行存储在存储器320的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理,如本申请实施例提供的子应用的运行控制方法。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个应用的应用程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元330可用于接收用户输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。
可选的,输入单元330可包括触控面板331以及其他输入设备332。
其中,触控面板331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板331上或在触控面板331附近的操作),并根据预先设定的程式实现相应的操作,如用户点击功能模块的快捷标识的操作等。可选的,触控面板331可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器380,并能接收处理器380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板331。
可选的,其他输入设备332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元340可用于显示由用户输入的信息或展示给用户的界面信息以及电子设备的各种菜单。显示单元340即为终端设备的显示***,用于呈现界面,如显示桌面、应用的操作界面或直播应用的操作界面等。
显示单元340可以包括显示面板341。可选的,显示面板341可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
进一步的,触控面板331可覆盖显示面板341,当触控面板331检测到在其上或附近的触摸操作后,传送给处理器380以确定触摸事件的类型,随后处理器380根据触摸事件的类型在显示面板341上提供相应的界面输出。
虽然在图13中,触控面板331与显示面板341是作为两个独立的部件来实现电子设备的输入和输入功能,但是在某些实施例中,可以将触控面板331与显示面板341集成而实现终端的输入和输出功能。
电子设备还可包括至少一种传感器350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板341的亮度,接近传感器可在电子设备移动到耳边时,关闭显示面板341的背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路360、扬声器361,传声器362可提供用户与电子设备之间的音频接口。音频电路360可将接收到的音频数据转换后的电信号,传输到扬声器361,由扬声器361转换为声音信号输出;另一方面,传声器362将收集的声音信号转换为电信号,由音频电路360接收后转换为音频数据,再将音频数据输出处理器380处理后,经RF电路310以发送给比如另一电子设备,或者将音频数据输出至存储器320以便进一步处理。
WiFi属于短距离无线传输技术,电子设备通过WiFi模块370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块370,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器380是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器380可包括一个或多个处理单元;可选的,处理器380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、应用及应用内部的功能模块等软件程序,如本申请实施例提供的子应用的运行控制方法等。调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器380中。
可以理解,图13所示的结构仅为示意,电子设备还可包括比图13中所示更多或者更少的组件,或者具有与图13所示不同的配置。图13中所示的各组件可以采用硬件、软件或其组合实现。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的发音准确度确定方法。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (12)
1.一种子应用的运行控制方法,其特征在于,包括:
显示母应用的操作界面;
响应于在所述母应用的操作界面中启动子应用的操作,加载所述子应用的原生页面;所述子应用包括多个功能模块,每个功能模块关联有一个操作界面;所述原生页面用于展示所述子应用的功能模块的操作界面;
响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过所述原生页面获取多媒体数据并播放所述多媒体数据;
响应于在当前显示的功能模块的操作界面中输入的操作界面切换操作,隐藏所述当前显示的功能模块的操作界面;
通过所述原生页面显示目标功能模块的操作界面;所述目标功能模块为所述操作界面切换操作指示跳转的目标功能模块。
2.根据权利要求1所述的方法,其特征在于,所述原生页面具有加载生命周期函数和显示生命周期函数;所述响应于在所述母应用的操作界面中启动子应用的操作,加载所述子应用的原生页面,包括:
响应于在所述母应用的操作界面中启动子应用的操作,通过所述子应用的原生页面对应的浏览器组件调用所述原生页面的加载生命周期函数,以加载所述子应用的原生页面;
调用所述原生页面的显示生命周期函数,以显示所述子应用的原生页面。
3.根据权利要求2所述的方法,其特征在于,每个所述功能模块均具有模块加载生命周期函数和模块显示生命周期函数;所述显示所述子应用的原生页面之后,所述方法还包括:
通过所述原生页面的显示生命周期函数调用各个功能模块的模块加载生命周期函数,以加载所述各个功能模块;
将设置的初始功能模块的路由路径作为在所述原生页面中显示的操作界面的路由路径;
通过所述原生页面的显示生命周期函数调用所述初始功能模块的模块显示生命周期函数,以通过所述原生页面显示所述初始功能模块的操作界面。
4.根据权利要求1所述的方法,其特征在于,所述通过所述原生页面显示目标功能模块的操作界面,包括:
确定所述操作界面切换操作指示跳转的目标功能模块的路由路径;
将操作界面的路由路径由所述当前显示的功能模块的路由路径切换至所述目标功能模块的路由路径;
通过所述原生页面显示所述目标功能模块的操作界面。
5.根据权利要求1或4所述的方法,其特征在于,所述原生页面具有隐藏生命周期函数和显示生命周期函数;每个所述功能模块均具有模块隐藏生命周期函数和模块显示生命周期函数;
所述隐藏所述当前显示的功能模块的操作界面,包括:
通过所述原生页面的隐藏生命周期函数调用所述当前显示的功能模块的模块隐藏生命周期函数,以隐藏所述当前显示的功能模块的操作界面;
所述通过所述原生页面显示所述目标功能模块的操作界面,包括:
通过所述原生页面的显示生命周期函数调用所述目标功能模块的模块显示生命周期函数,以显示所述目标功能模块的操作界面。
6.根据权利要求4所述的方法,其特征在于,所述原生页面具有路由配置信息,所述路由配置信息中存储有各个功能模块的名称与路由路径的对应关系;所述确定所述操作界面切换操作指示跳转的目标功能模块的路由路径,包括:
确定所述操作界面切换操作指示跳转的目标功能模块的名称;
根据所述目标功能模块的名称,从所述原生页面的路由配置信息中查找所述目标功能模块的路由路径。
7.根据权利要求6所述的方法,其特征在于,所述原生页面的路由配置信息通过如下方式生成:
分别获取所述子应用的各个功能模块的名称和路由路径;
对于各个功能模块,将所述功能模块的名称与路由路径进行关联存储,得到所述原生页面的路由配置信息。
8.根据权利要求1所述的方法,其特征在于,所述通过所述原生页面对应的浏览器组件获取并播放多媒体数据之后,所述方法还包括:
响应于在当前显示的功能模块的操作界面中触发的结束多媒体数据接入操作,停止播放所述多媒体数据;或者,
响应于在所述子应用的原生页面中退出子应用的操作,停止播放所述多媒体数据。
9.根据权利要求1所述的方法,其特征在于,所述原生页面具有卸载生命周期函数;每个所述功能模块均具有模块卸载生命周期函数;所述加载所述子应用的原生页面之后,所述方法还包括:
响应于在所述子应用的原生页面中退出子应用的操作,调用所述原生页面的卸载生命周期函数,并通过所述原生页面的卸载生命周期函数调用各个功能模块的模块卸载生命周期函数,以卸载所述各个功能模块;
通过所述原生页面的卸载生命周期函数卸载所述子应用的原生页面。
10.一种子应用的运行控制装置,其特征在于,包括:
原生页面加载单元,用于显示母应用的操作界面,响应于在所述母应用的操作界面中启动子应用的操作,加载所述子应用的原生页面;所述子应用包括多个功能模块,每个功能模块关联有一个操作界面;所述原生页面用于展示所述子应用的功能模块的操作界面;
多媒体数据播放单元,用于响应于在当前显示的功能模块的操作界面中触发的多媒体数据接入操作,通过所述原生页面获取多媒体数据并播放所述多媒体数据;
界面跳转控制单元,用于响应于在当前显示的功能模块的操作界面中输入的操作界面切换操作,隐藏所述当前显示的功能模块的操作界面;通过所述原生页面显示目标功能模块的操作界面;所述目标功能模块为所述操作界面切换操作指示跳转的目标功能模块。
11.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~9中任一项所述的方法。
12.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011443431.7A CN112559069B (zh) | 2020-12-08 | 2020-12-08 | 子应用的运行控制方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011443431.7A CN112559069B (zh) | 2020-12-08 | 2020-12-08 | 子应用的运行控制方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559069A CN112559069A (zh) | 2021-03-26 |
CN112559069B true CN112559069B (zh) | 2022-04-12 |
Family
ID=75061032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011443431.7A Active CN112559069B (zh) | 2020-12-08 | 2020-12-08 | 子应用的运行控制方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559069B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791752B (zh) * | 2021-09-16 | 2024-06-11 | 深圳市芯中芯科技有限公司 | 在安卓***中通过js同步控制网页音乐播放状态的方法 |
CN114398094B (zh) * | 2021-12-21 | 2023-08-18 | ***股份有限公司 | 小程序启动方法、装置、设备及计算机可读存储介质 |
CN114327687B (zh) * | 2022-03-09 | 2022-05-20 | 恒生电子股份有限公司 | 微前端模式下子应用的构建方法、装置、设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102880A (zh) * | 2017-05-11 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 消息处理方法、装置、存储介质和计算机设备 |
CN107277601A (zh) * | 2017-07-12 | 2017-10-20 | 北京潘达互娱科技有限公司 | 视频播放方法及装置 |
CN107957911A (zh) * | 2016-10-18 | 2018-04-24 | 腾讯科技(深圳)有限公司 | 组件调用的方法和装置、组件数据处理的方法和装置 |
CN108604245A (zh) * | 2016-06-22 | 2018-09-28 | 华为技术有限公司 | 一种获取网页内容的方法及装置 |
CN110020293A (zh) * | 2017-10-17 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 多媒体数据展示方法、装置及存储介质 |
CN110430473A (zh) * | 2019-07-18 | 2019-11-08 | 东软集团股份有限公司 | 视频播放的方法、装置、存储介质及电子设备 |
CN110442822A (zh) * | 2019-08-02 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 一种小程序内容展示方法、装置、设备及存储介质 |
CN110582017A (zh) * | 2019-09-10 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 一种视频播放方法、装置、终端及存储介质 |
CN110858242A (zh) * | 2018-08-22 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 页面跳转方法及装置 |
CN110990075A (zh) * | 2019-11-18 | 2020-04-10 | 北京小米移动软件有限公司 | 快应用的启动方法、装置、设备及存储介质 |
CN111367622A (zh) * | 2020-03-09 | 2020-07-03 | 联通沃音乐文化有限公司 | 一种移动端网站无阻断播放音频***和方法 |
CN111459685A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 页面端与原生端的通信方法、装置、设备及可读介质 |
CN111859198A (zh) * | 2019-04-29 | 2020-10-30 | 天津五八到家科技有限公司 | 页面跳转方法、页面跳转***、客户端设备及服务端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097298A1 (en) * | 2011-10-18 | 2013-04-18 | OneScreen Inc. | Standardized adapter interface for multiple browser-based devices |
-
2020
- 2020-12-08 CN CN202011443431.7A patent/CN112559069B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108604245A (zh) * | 2016-06-22 | 2018-09-28 | 华为技术有限公司 | 一种获取网页内容的方法及装置 |
CN107957911A (zh) * | 2016-10-18 | 2018-04-24 | 腾讯科技(深圳)有限公司 | 组件调用的方法和装置、组件数据处理的方法和装置 |
CN107102880A (zh) * | 2017-05-11 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 消息处理方法、装置、存储介质和计算机设备 |
CN107277601A (zh) * | 2017-07-12 | 2017-10-20 | 北京潘达互娱科技有限公司 | 视频播放方法及装置 |
CN110020293A (zh) * | 2017-10-17 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 多媒体数据展示方法、装置及存储介质 |
CN110858242A (zh) * | 2018-08-22 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 页面跳转方法及装置 |
CN111459685A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 页面端与原生端的通信方法、装置、设备及可读介质 |
CN111859198A (zh) * | 2019-04-29 | 2020-10-30 | 天津五八到家科技有限公司 | 页面跳转方法、页面跳转***、客户端设备及服务端设备 |
CN110430473A (zh) * | 2019-07-18 | 2019-11-08 | 东软集团股份有限公司 | 视频播放的方法、装置、存储介质及电子设备 |
CN110442822A (zh) * | 2019-08-02 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 一种小程序内容展示方法、装置、设备及存储介质 |
CN110582017A (zh) * | 2019-09-10 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 一种视频播放方法、装置、终端及存储介质 |
CN110990075A (zh) * | 2019-11-18 | 2020-04-10 | 北京小米移动软件有限公司 | 快应用的启动方法、装置、设备及存储介质 |
CN111367622A (zh) * | 2020-03-09 | 2020-07-03 | 联通沃音乐文化有限公司 | 一种移动端网站无阻断播放音频***和方法 |
Non-Patent Citations (1)
Title |
---|
微信小程序模块化与page函数;cola;《https://www.yiyongtong.com/archives/view-3820-1.html》;20180202;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112559069A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144371B2 (en) | Digital assistant extensibility to third party applications | |
CN112559069B (zh) | 子应用的运行控制方法、装置、存储介质和电子设备 | |
CN107734616B (zh) | 应用程序关闭方法、装置、存储介质和电子设备 | |
CN108363528B (zh) | 应用页面的启动方法、装置、存储介质及电子设备 | |
CN106210755B (zh) | 一种播放直播视频的方法、装置和*** | |
JP2018538597A (ja) | アプリケーションコンテナを使用するコードおよび従属データの送達の管理 | |
JP2018516396A (ja) | 推奨コンテンツに基づく対話方法、端末及びサーバ | |
CN110858173B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN106484547B (zh) | 一种多开应用的管理方法、装置及终端 | |
WO2018077041A1 (zh) | 应用运行的方法及装置 | |
CN115454286B (zh) | 应用数据的处理方法、装置和终端设备 | |
WO2020206691A1 (zh) | 应用程序的处理方法、装置、存储介质及电子设备 | |
JP2020119565A (ja) | メッセンジャー内のプラットフォームに追加されたアプリケーションを用いてチャットルームで情報を共有する方法、システム、およびコンピュータプログラム | |
US10298590B2 (en) | Application-based service providing method, apparatus, and system | |
CN111240774A (zh) | 动态壁纸生成方法、装置、存储介质及电子设备 | |
CN111857531A (zh) | 移动终端及其文件显示方法 | |
CN108268274B (zh) | 应用管理方法、装置、存储介质及电子设备 | |
CN115828845A (zh) | 多媒体数据查看方法、装置、介质及设备 | |
CN107015874B (zh) | 数据传输控制方法、装置及终端 | |
WO2017041604A1 (zh) | 一种应用加速方法及装置 | |
CN116567133A (zh) | 一种资源播放方法和相关装置 | |
CN113742716A (zh) | 代码运行方法、装置、电子设备、存储介质和程序产品 | |
CN115905742A (zh) | 一种数据展示方法、装置、设备及存储介质 | |
CN106970814B (zh) | 软件升级的处理方法、装置及*** | |
CN116095384A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40041361 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |