掌桥专利:专业的专利平台
掌桥专利
首页

应用程序的控制方法、装置、存储介质及终端

文献发布时间:2023-06-19 11:19:16


应用程序的控制方法、装置、存储介质及终端

技术领域

本申请涉及人机交互领域,尤其涉及一种应用程序的控制方法、装置、存储介质及终端。

背景技术

人机交互技术(Human-Computer Interaction Techniques)是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。人机交互技术包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题及提示请示等。人机交互技术是计算机用户界面设计中的重要内容之一,对于目标的智能终端设备上的应用程序来说,智能终端设置有触摸屏,用户用于基于触控方式使用应用程序触发运行任务,以使用应用程序的相关功能模块,一般应用程序会设置有多个不同的功能模块,如何快捷的使用应用程序的多个功能是目前亟待解决的问题。

发明内容

本申请实施例提供了一种应用程序的控制方法、装置、存储介质及终端,可以对应用程序的多个功能进行使用时提高操作的便利性。所述技术方案如下:

第一方面,本申请实施例提供了一种应用程序的控制方法,所述方法包括:

通过显示单元显示应用程序的功能触发控件;

通过显示单元显示应用程序的功能触发控件;

接收用户对所述功能触发控件的第一触发指令,响应于所述第一触发指令通过所述显示单元显示所述应用程序的功能控件集合;其中,所述功能控件集合包括多个功能控件,所述多个功能控件各自对应一个功能模块;

接收用户对所述多个功能控件中的目标功能控件的第二触发指令;其中,所述第二触发指令用于启动目标功能模块;

判断堆栈的顶部的界面数据是否为所述目标功能模块的界面数据;

若为是,则当前运行的功能模块为所述目标功能模块,根据所述堆栈顶部的界面数据运行所述目标功能模块。

第二方面,本申请实施例提供了一种应用程序的控制装置,所述装置包括:处理单元和收发单元;

所述处理单元,用于通过显示单元显示应用程序的功能触发控件;

通过所述收发单元接收用户对所述功能触发控件的第一触发指令,响应于所述第一触发指令通过所述显示单元显示所述应用程序的功能控件集合;其中,所述功能控件集合包括多个功能控件,所述多个功能控件各自对应一个功能模块;

通过所述收发单元接收用户对所述多个功能控件中的目标功能控件的第二触发指令;其中,所述第二触发指令用于启动目标功能模块;

判断堆栈的顶部的界面数据是否为所述目标功能模块的界面数据;

若为是,则当前运行的功能模块为所述目标功能模块,根据所述堆栈顶部的界面数据运行所述目标功能模块。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

通过功能触发控件触发显示包含多个功能控件的功能控件集合,检测到用户对多个功能控件中的任意一个功能控件的触发指令时,若应用程序当前启动有当前运行的功能模块,将当前运行的功能模块的第一界面数据存储到堆栈中,然后判断选择的功能控件对应的功能模块在存储单元中是否存在相应的第二界面数据,若存在,关闭当前运行的功能模块,以及基于第二界面数据恢复启动第二功能模块,这样实现应用程序中多个功能模块之间的平行切换,切换后,基于预先存储的界面数据恢复功能到之前的状态,不会影响用户的正常使用,用户在应用内切换多个功能模块时可以提高操作的便利性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种应用程序的控制方法的流程示意图;

图2是本申请实施例提供的一种应用程序的用户界面的示意图;

图3是本申请实施例提供的一种应用程序的用户界面的示意图;

图4是本申请实施例提供的一种应用程序的用户界面的示意图;

图5是本申请实施例提供的一种应用程序的用户界面的示意图;

图6是本申请实施例提供的一种应用程序的控制装置的结构示意图;

图7是本申请实施例提供的一种终端的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

下面将结合附图1-附图5,对本申请实施例提供的应用程序的控制方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的应用程序的控制装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的应用程序的控制装置可以为终端,包括但不限于智能手机、个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。

请参见图1,为本申请实施例提供的一种应用程序的控制方法的流程示意图。如图1所示,本申请实施例的所述方法可以包括以下步骤:

S101,通过显示单元显示应用程序的功能触发控件。

其中,功能触发控件为用户界面中的用于用户进行交互以输入数据或操作的对象,用户界面可以是应用程序中的任意一个用户界面。终端可以预先设置功能触发控件的触发方式,例如:终端为触屏终端时,功能触发控件的触发操作为单击触发、双击触发或长按触发等,本申请实施例不作显示。

例如:参见图2所示,处理器通过显示单元显示应用程序的工单编辑界面21,功能编辑界面的上方设置功能触发控件20,功能触发控件20为一个全局的控件,根据图2所示,应用程序当前正在启动工单编辑的功能模块。

S102、接收用户对所述功能触发控件的第一触发指令,响应于所述第一触发指令通过所述显示单元显示应用程序的功能控件集合。

其中,第一触发指令可以用户对S101中显示功能触发控件进行触发操作,例如:触发操作为单击操作、双击操作、长按操作或其他操作,功能控件集合包含多个功能控件,多个功能控件为应用程序对应的所有功能模块的启动入口,多个功能控件的排列方式本申请不作显示,可以呈矩阵排列,或圆形排列等。

例如:参见图3所示,用户点击图2中的功能触发控件20之后,终端的显示屏上显示的功能控件集合包括:通讯、设备、信息、本地通话、用车和工单,共6个功能控件,6个功能控件呈圆形排列。

S103、接收用户对所述多个功能控件中的目标功能控件的第二触发指令;

其中,所述第二触发指令用于启动目标功能模块,其中,目标功能控件为用户在功能控件集合中的选择的任意一个功能控件,但是用户选择的功能控件对应的功能和应用程序中当前启动的功能不相同,例如:应用程序中当前启动的功能为“本地通话”,用户选择的功能控件为“本地通话”控件,其对应的功能模块不同于当前启动的功能模块,频率。处理器在接收到用户对功能控件集合中的任意一个目标功能控件的第二触发指令时,可以通过预先配置的功能运行状态表来判断当前是否启动目标功能模块,目标功能模块为应用程序当前启动的功能模块,功能运行状态表中记录有当前运行的功能模块的ID。

S104、判断堆栈的顶部的界面数据是否为所述目标功能模块的界面数据。

其中,界面数据表示功能模块在显示屏上进行显示和渲染的数据,堆栈的顶部的界面数据为当前运行的功能模块的界面数据,判断堆栈顶部的界面数据是否为待启动的目标功能模块的界面数据。

S105、若为是,则当前运行的功能模块为所述目标功能模块,根据所述堆栈顶部的界面数据运行所述目标功能模块。

其中,若堆栈顶部的界面数据为目标功能模块的界面数据,不需要切换功能模块,继续运行当前的功能模块。

在一个或多个实施例中,所述方法还包括:若堆栈的顶部的界面数据不为所述目标功能模块的界面数据,在所述堆栈中查询是否存在所述目标功能模块的历史界面数据。

其中,若堆栈顶部的界面数据不为待启动的目标功能模块的界面数据,即当前运行的功能模块不为目标功能模块,那么需要切换当前运行的功能模块。在堆栈中查询是否存在目标功能模块的历史界面数据,该历史界面数据为目标功能模块上一次运行时存入堆栈的界面数据。

在一个或多个实施例中,在所述堆栈中未查询到所述目标功能模块的历史界面数据时,从所述堆栈中选择一个界面数据;

将选择的界面数据移动至所述堆栈的顶部,以及运行该选择的界面数据。

其中,从堆栈中选择界面数据的方法可以是选择堆栈中固定位置的界面数据,例如:选择堆栈中位于第2位的界面数据,或采用其他规则来选择界面数据,本申请不作限制。

在一个或多个实施例中,若在所述堆栈中查询存在所述目标功能模块的历史界面数据,检测所述堆栈顶部的界面数据是否具有中断功能模块,若为否,将所述目标功能模块的历史界面数据移动至所述堆栈的顶部,以及运行所述历史界面数据。

其中,检测堆栈顶部的界面数据是否具有终端功能模块,即检测当前运行的功能模块是否具有中断功能模块,例如:当前运行的功能模块为视频通话功能模块,那么该功能模块就不具有中断功能模块,需要等待视频通话结束后才能进行切换。若当前运行的功能模块具有中断功能模块,那么将模块功能的历史界面数据移动到堆栈的顶部将堆栈顶部原有的界面数据进行清除。

其中,以安卓系统为例进行说明,在安卓系统中Activity是以堆栈的形式存在。堆栈中的根Activity就是应用程序的启动Activity。而堆栈中最上方的Activity则是当前运行的/用户正在操作的UI Activity。堆栈中保存的是Activity对象,如果一个应用程序中多次使用了一个Activity,那么就会使同一个任务中出现多个该Activity的对象。一个应用程序在运行和所启动的Activity通常情况下在同一个堆栈中、这个也叫做任务栈

其中,堆栈的特性:只有压入和弹出以及先进后出,是单向队列的链表。本申请的平行切换的原理就是利用队列任务堆栈,在界面切换的过程中对单向队列的链表进行排序,将当前的第一界面数据压入堆栈,把切换目标的界面(第二界面数据)排序到堆栈中最上方的,即当前运行的/用户正在操作的UI Activity,并且进行数据恢复,达到用户零感知的切换目的。

例如:参见图3和图4所示,用户在功能控件集合中选择“通讯”控件,用户通过在“通讯”控件上进行单击操作,处理器接收到第二触发指令,处理器判断应用程序当前运行有“工单编辑”功能模块,处理器获取“工单编辑”功能模块的界面数据以及在存储单元中存储其界面数据。然后,处理器根据“通讯”功能模块的ID在存储单元中查询到对应的界面数据,关闭“工单编辑”功能模块,以及基于查询到的界面数据启动“通讯”功能模块,显示“通讯”功能模块的用户界面23,用户界面23上还设置有功能触发控件20。

在一个或多个可能的实施方式中,所述功能触发控件具有可拖拽性,终端根据用户的拖拽操作可以将功能触发控件移动到用户界面的任意位置,进一步的,功能触发控件的预设区域可以进行隐藏处理,例如,参见图4所示,功能触发控件20的一半区域隐藏与用户界面的边缘。

在一个或多个可能的实施方式中,所述功能触发控件设置于所述当前运行的功能模块的用户界面上的透明浮层中,所述透明浮层的形状和大小与所述功能触发控件相同。

例如:参见图2所示,当前运行的功能模块的用户界面21上设置有透明浮层,功能触发控件20设置在该透明浮层中。

在一个或多个可能的实施例中,所述功能控件集合以高亮的方式设置于所述当前运行的功能模块的用户界面上。

例如:参见图3所示,功能控件集合22的显示方式不同于当前运行的功能模块的用户界面,功能控件集合22的亮度高于当前运行的功能模块的用户界面的亮度

在一个或多个可能的实施例中,还包括:

接收到用户对所述功能控件集合之外的区域的第三触发指令时,关闭所述功能控件集合,以及通过所述显示单元显示所述功能触发控件。

例如:参见图3所示,用户点击功能控件集合之外的区域时,处理器接收到第三触发指令,处理器关闭功能触发集合22,然后重新显示功能触发控件20

在本申请实施例中,通过功能触发控件触发显示包含多个功能控件的功能控件集合,检测到用户对多个功能控件中的任意一个功能控件的触发指令时,若应用程序当前启动有当前运行的功能模块,将当前运行的功能模块的第一界面数据存储到存储单元中,然后判断选择的功能控件对应的功能模块在存储单元中是否存在相应的第二界面数据,若存在,关闭当前运行的功能模块,以及基于第二界面数据恢复启动第二功能模块,这样实现应用程序中多个功能模块之间的平行切换,切换后,基于预先存储的界面数据恢复功能到之前的状态,不会影响用户的正常使用,用户在应用内切换多个功能模块时可以提高操作的便利性。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图6,其示出了本申请一个示例性实施例提供的应用程序的控制装置的结构示意图。该应用程序的控制装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置1包括显示单元10、收发单元20和处理单元30。

所述处理单元30,用于通过显示单元10显示应用程序的功能触发控件;

通过所述收发单元20接收用户对所述功能触发控件的第一触发指令,响应于所述第一触发指令通过所述显示单元显示所述应用程序的功能控件集合;其中,所述功能控件集合包括多个功能控件,所述多个功能控件各自对应一个功能模块;

通过所述收发单元20接收用户对所述多个功能控件中的目标功能控件的第二触发指令;其中,所述第二触发指令用于启动目标功能模块;

判断堆栈的顶部的界面数据是否为所述目标功能模块的界面数据;

若为是,则当前运行的功能模块为所述目标功能模块,根据所述堆栈顶部的界面数据运行所述目标功能模块。

在一个或多个实施例中,处理单元30还用于:

若堆栈的顶部的界面数据不为所述目标功能模块的界面数据,在所述堆栈中查询是否存在所述目标功能模块的历史界面数据;

若为是,检测所述堆栈顶部的界面数据是否具有中断功能模块,若为否,将所述目标功能模块的历史界面数据移动至所述堆栈的顶部,以及运行所述历史界面数据。

在一个或多个实施例中,处理单元30还用于:

在所述堆栈中未查询到所述目标功能模块的历史界面数据时,从所述堆栈中选择一个界面数据;

将选择的界面数据移动至所述堆栈的顶部,以及运行该选择的界面数据。

在一个或多个可能的实施例中,所述功能触发控件具有可移动性,在所述功能触发控件移动到用户界面的边缘时,对所述功能触发控件的预设区域进行隐藏处理。

在一个或多个可能的实施例中,所述功能控件集合中包含的多个功能控件排列成圆形。

在一个或多个可能的实施例中,所述功能触发控件设置于所述当前运行的功能模块的透明浮层上。

在一个或多个可能的实施例中,所述功能控件集合以高亮的方式设置于所述当前运行的功能模块的用户界面上。

在一个或多个可能的实施例中,处理单元30还用于:

将所述当前运行的功能模块的第一界面数据写入到堆栈中,以及将所述第二功能模块的第二界面数据切换到堆栈的顶部。

在一个或多个可能的实施例中,处理单元30还用于

指示收发单元20接收到用户对所述功能控件集合之外的区域的第三触发指令时,关闭所述功能控件集合,以及通过所述显示单元显示所述功能触发控件。

需要说明的是,上述实施例提供的应用程序的控制装置在执行应用程序的控制方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序的控制装置与应用程序的控制方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,通过功能触发控件触发显示包含多个功能控件的功能控件集合,检测到用户对多个功能控件中的任意一个功能控件的触发指令时,若应用程序当前启动有当前运行的功能模块,将当前运行的功能模块的第一界面数据存储到存储单元中,然后判断选择的功能控件对应的功能模块在存储单元中是否存在相应的第二界面数据,若存在,关闭当前运行的功能模块,以及基于第二界面数据恢复启动第二功能模块,这样实现应用程序中多个功能模块之间的平行切换,切换后,基于预先存储的界面数据恢复功能到之前的状态,不会影响用户的正常使用,用户在应用内切换多个功能模块时可以提高操作的便利性。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图5所示实施例的方法步骤,具体执行过程可以参见图1-图5所示实施例的具体说明,在此不进行赘述。

请参见图7,为本申请实施例提供了一种终端的结构示意图。如图7所示,所述终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。

其中,通信总线1002用于实现这些组件之间的连接通信。

其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。

其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。

其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种接口和线路连接整个终端1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行终端1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。

其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能模块的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及诈骗电话的识别应用程序。

在图7所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的应用程序,并具体执行以下操作:

通过所述显示屏显示应用程序的功能触发控件;

通过用户接口1003接收用户对所述功能触发控件的第一触发指令,响应于所述第一触发指令通过所述显示单元显示所述应用程序的功能控件集合;其中,所述功能控件集合包括多个功能控件,所述多个功能控件各自对应一个功能模块;

通过用户接口1003接收用户对所述多个功能控件中的目标功能控件的第二触发指令;其中,所述第二触发指令用于启动目标功能模块;

判断堆栈的顶部的界面数据是否为所述目标功能模块的界面数据;

若为是,则当前运行的功能模块为所述目标功能模块,根据所述堆栈顶部的界面数据运行所述目标功能模块。

在一个或多个实施例中,处理器1001还用于执行:

若堆栈的顶部的界面数据不为所述目标功能模块的界面数据,在所述堆栈中查询是否存在所述目标功能模块的历史界面数据;

若为是,检测所述堆栈顶部的界面数据是否具有中断功能模块,若为是,将所述目标功能模块的历史界面数据移动至所述堆栈的顶部,以及运行所述历史界面数据。

在一个或多个可能的实施例中,处理器1001还用于执行:

在所述堆栈中未查询到所述目标功能模块的历史界面数据时,从所述堆栈中选择一个界面数据;

将选择的界面数据移动至所述堆栈的顶部,以及运行该选择的界面数据。

在一个或多个可能的实施例中,所述功能触发控件具有可移动性,在所述功能触发控件移动到用户界面的边缘时,对所述功能触发控件的预设区域进行隐藏处理。

在一个或多个可能的实施例中,所述功能控件集合中包含的多个功能控件排列成圆形。

在一个或多个可能的实施例中,所述功能触发控件设置于所述当前运行的功能模块的透明浮层上。

在一个或多个可能的实施例中,所述功能控件集合以高亮的方式设置于所述当前运行的功能模块的用户界面上。

在一个或多个可能的实施例中,处理器1001还用于执行:

接收到用户对所述功能控件集合之外的区域的第三触发指令时,关闭所述功能控件集合,以及通过所述显示单元显示所述功能触发控件。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 内容或应用程序提供系统、内容或应用程序提供系统的控制方法、终端装置、终端装置的控制方法、认证装置、认证装置的控制方法
  • 终端设备控制方法及装置、应用程序配置文件的封装方法、终端设备及计算机可读存储介质
技术分类

06120112881213