一种控制应用程序的设置菜单的方法及装置转让专利

申请号 : CN201510128203.3

文献号 : CN104714805B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘承龙

申请人 : 海信集团有限公司

摘要 :

本发明提供了一种控制应用程序的设置菜单的方法及装置,涉及电子设备领域,用以将应用程序内置的设置菜单通过设置程序显示。该方法包括:设置程序获取设置菜单调用指令;设置菜单调用指令用于指示设置程序显示应用程序的设置菜单;设置程序根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据;访问接口用于传输与应用程序的设置菜单相关的数据;描述数据用于存储应用程序的设置菜单的菜单项;设置程序根据描述数据显示应用程序的设置菜单。

权利要求 :

1.一种控制应用程序的设置菜单的方法,其特征在于,包括:

设置程序获取设置菜单调用指令;所述设置菜单调用指令用于指示所述设置程序显示应用程序的设置菜单;

所述设置程序根据所述设置菜单调用指令,通过访问接口获取所述应用程序存储的设置菜单的描述数据;所述访问接口用于传输与所述应用程序的设置菜单相关的数据;所述描述数据用于存储所述应用程序的设置菜单的菜单项;

所述设置程序根据所述描述数据显示所述应用程序的设置菜单。

2.根据权利要求1所述的方法,其特征在于,所述设置菜单调用指令包括:当前应用设置菜单调用指令;所述当前应用设置菜单调用指令用于指示所述设置程序显示顶层活动的应用程序的设置菜单;

在所述设置程序获取设置菜单调用指令之后,所述设置程序根据所述设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据之前,还包括:所述设置程序获取所述顶层活动的应用程序的应用标识;所述应用标识用于唯一标识一个应用程序;

所述设置程序根据所述设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据包括:所述设置程序根据所述当前应用设置菜单调用指令,通过访问接口获取所述顶层活动的应用程序存储的设置菜单的描述数据;

所述设置程序根据所述描述数据显示所述应用程序的设置菜单包括:

所述设置程序根据所述描述数据显示所述顶层活动的应用程序的设置菜单。

3.根据权利要求1所述的方法,其特征在于,所述设置菜单调用指令包括:已注册应用设置菜单调用指令;所述已注册应用设置菜单调用指令用于指示所述设置程序显示已注册的应用程序的设置菜单;

在所述设置程序获取设置菜单调用指令之后,所述设置程序根据所述设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据之前,还包括:所述设置程序从应用程序数据库中查找已注册的应用程序的应用标识;所述应用程序数据库用于存储已注册的应用程序的应用标识及对应的访问接口;

所述设置程序根据所述设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据,设置程序根据所述描述数据显示所述应用程序的设置菜单包括:根据所述已注册应用设置菜单调用指令和应用程序标识,依次通过与所述应用程序标识对应的访问接口获取与所述应用程序标识对应的应用程序存储的设置菜单的描述数据,并根据所述描述数据显示所述应用程序的设置菜单。

4.根据权利要求1所述的方法,其特征在于,在所述设置程序根据所述描述数据显示所述应用程序的设置菜单之后,还包括:所述设置程序获取设置操作指令;所述设置操作指令用于更改所述应用程序的设置菜单中的目标菜单项;所述设置操作指令携带所述目标菜单项的可修改数值字段的更新值;

所述设置程序将所述设置操作指令携带的所述更新值转换为所述目标菜单项的可修改数值字段对应的可设置数值;

所述设置程序通过所述访问接口向所述应用程序发送改写请求;所述改写请求携带所述目标菜单项的菜单项识别码和所述可设置数值;

所述应用程序根据所述改写请求,更新所述设置菜单的目标菜单项的描述数据,并更新所述设置菜单中与所述目标菜单项相关的菜单项。

5.根据权利要求4所述的方法,其特征在于,在所述应用程序根据所述改写请求更新所述设置菜单的目标菜单项的描述数据,并更新所述设置菜单中与所述目标菜单项相关的菜单项之后,还包括:所述设置程序通过访问接口获取更新后的所述应用程序的设置菜单的描述数据,并根据所述描述数据显示所述应用程序的设置菜单。

6.根据权利要求1所述的方法,其特征在于,在所述设置程序根据所述设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据之前,还包括:在所述应用程序的用户数据为空的情况下,所述应用程序向所述设置程序发送注册请求消息;所述注册请求消息中携带所述应用程序的应用标识和访问接口;

所述设置程序根据所述注册请求消息更新应用程序数据库。

7.根据权利要求6所述的方法,其特征在于,在所述应用程序向所述设置程序发送注册请求消息之后,所述设置程序根据所述注册请求消息更新应用程序数据库之前,还包括:所述设置程序根据所述注册请求消息中的应用标识判断所述应用程序数据库中是否已注册所述应用程序;

所述设置程序根据所述注册请求消息更新应用程序数据库包括:

若已注册所述应用程序,则根据注册请求消息中的访问接口更新所述应用程序数据库中与所述注册请求消息中的应用标识对应的访问接口;

若未注册所述应用程序,则将所述注册请求消息中的应用标识和访问接口对应存储于所述应用程序数据库。

8.根据权利要求6所述的方法,其特征在于,所述应用程序的用户数据为空的情况包括:安装所述应用程序,或者升级所述应用程序,或者恢复应用程序出厂设置,或者用户清空所述应用程序的用户数据。

9.一种控制应用程序的设置菜单的装置,其特征在于,包括:设置程序模块和应用程序模块;

所述设置程序模块,用于获取设置菜单调用指令;所述设置菜单调用指令用于指示所述设置程序模块显示应用程序的设置菜单;

所述设置程序模块,还用于根据所述设置菜单调用指令,通过访问接口获取所述应用程序存储的设置菜单的描述数据;所述访问接口用于传输与所述应用程序的设置菜单相关的数据;所述描述数据用于存储所述应用程序模块的设置菜单的菜单项;

所述设置程序模块,还用于根据所述描述数据显示所述应用程序的设置菜单。

10.根据权利要求9所述的装置,其特征在于,所述设置菜单调用指令包括:当前应用设置菜单调用指令;所述当前应用设置菜单调用指令用于指示所述设置程序模块显示顶层活动的应用程序的设置菜单;

所述设置程序模块,还用于获取所述顶层活动的应用程序的应用标识;所述应用标识用于唯一标识一个应用程序;

所述设置程序模块,具体用于根据所述当前应用设置菜单调用指令,通过访问接口获取所述顶层活动的应用程序存储的设置菜单的描述数据;

所述设置程序模块,具体用于根据所述描述数据显示所述顶层活动的应用程序的设置菜单。

说明书 :

一种控制应用程序的设置菜单的方法及装置

技术领域

[0001] 本发明涉及电子设备领域,尤其涉及一种控制应用程序的设置菜单的方法及装置。

背景技术

[0002] 为了满足人们不同的需求,用户可以在智能设备中安装各种应用程序。很多应用程序中都会有内置的设置菜单供用户查看和设置应用程序的相关选项。不同应用程序的设置菜单分布在各个应用程序的不同位置,用户在应用程序中查找设置菜单时,没有固定的查找路径,用户需要对应用程序的相关选项进行设置时,需要在应用程序中逐步查找设置菜单,因此降低了用户体验。
[0003] 为了解决上述问题,现有技术中提供了一种基于操作系统聚合应用程序设置的方法,具体方案如下:设立应用程序的设置界面启动规则信息;应用程序端在与操作系统接口的节点中,按照该规则信息写入数据;系统终端的系统设置程序对所有已完成安装的应用程序,查询该节点的数据,将符合该规则信息的应用程序在系统设置菜单中聚合呈现。这样就能够将符合规则信息的所有应用程序在系统设置菜单中聚合呈现,用户点击所希望设置的应用程序,该应用程序就会被激活,然后,系统设置程序按启动参数信息所对应的应用程序设置界面启动相应的应用程序设置界面。
[0004] 在实现上述控制应用程序的设置界面的过程中,发明人发现现有技术中至少存在如下问题:上述方案只是简单地在系统设置程序中为每个应用程序的设置菜单添加一个跳转入口,最终还是应用程序显示设置菜单,无法在系统设置程序中显示每一应用程序的设置菜单。

发明内容

[0005] 本发明的实施例提供一种控制应用程序的设置菜单的方法及装置,通过将应用程序的设置菜单的显示与设置菜单的描述数据分离到设置程序和应用程序两个程序中,将应用程序内置的设置菜单通过设置程序显示。
[0006] 为达到上述目的,本发明的实施例采用如下技术方案:
[0007] 第一方面,本发明提供了一种控制应用程序的设置菜单的方法,包括:
[0008] 设置程序获取设置菜单调用指令;设置菜单调用指令用于指示设置程序显示应用程序的设置菜单;
[0009] 设置程序根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据;访问接口用于传输与应用程序的设置菜单相关的数据;描述数据用于存储应用程序的设置菜单的菜单项;
[0010] 设置程序根据描述数据显示应用程序的设置菜单。
[0011] 第二方面,本发明提供了一种控制应用程序的设置菜单的装置,包括:设置程序模块和应用程序模块;
[0012] 设置程序模块,用于获取设置菜单调用指令;设置菜单调用指令用于指示设置程序模块显示应用程序的设置菜单;
[0013] 设置程序模块,还用于根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据;访问接口用于传输与应用程序的设置菜单相关的数据;描述数据用于存储应用程序模块的设置菜单的菜单项;
[0014] 设置程序模块,还用于根据描述数据显示应用程序的设置菜单。
[0015] 本发明实施例提供了一种控制应用程序的设置菜单的方法及装置,设置程序获取设置菜单调用指令,根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。这样应用程序中存储设置菜单的描述数据进行显示,使得应用程序的设置菜单的显示与设置菜单的描述数据相分离,最终可以直接在设置程序中显示应用程序中内置的设置菜单。

附图说明

[0016] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017] 图1为本发明实施例提供的一种控制应用程序的设置菜单的方法的流程示意图;
[0018] 图2为本发明实施例提供的一种设置菜单显示方式的示意图;
[0019] 图3为本发明实施例提供的另一种设置菜单显示方式的示意图;
[0020] 图4为本发明实施例提供的另一种控制应用程序的设置菜单的方法的流程示意图;
[0021] 图5为本发明实施例提供的另一种控制应用程序的设置菜单的方法的流程示意图;
[0022] 图6为本发明实施例提供的另一种控制应用程序的设置菜单的方法的流程示意图;
[0023] 图7为本发明实施例提供的另一种控制应用程序的设置菜单的方法的流程示意图;
[0024] 图8为本发明实施例提供的另一种控制应用程序的设置菜单的方法的流程示意图;
[0025] 图9为本发明实施例提供的一种控制应用程序的设置菜单的装置的功能示意图。

具体实施方式

[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 本发明提供的控制应用程序的设置菜单的方法,将应用程序的设置菜单的显示与设置菜单的描述数据分离到设置程序和应用程序两个程序中。应用程序可以对设置菜单的描述数据进行修改,控制设置菜单中各个菜单项之间的逻辑联系,同时提供跨进程查询和改写的访问接口。设置程序通过此访问接口跨进程查询应用程序的设置菜单的描述数据,并根据描述数据将应用程序的设置菜单进行显示,当用户操作显示界面的某个设置选项时,设置程序还可以通过访问接口将用户对设置菜单的操作的数据传递给应用程序,应用程序根据用户的操作,对设置菜单的描述数据进行修改或者直接执行对应逻辑。
[0028] 需要说明的是,应用程序的设置菜单由多条菜单项组成,每一菜单项对应一条描述数据。设置菜单的每一菜单项都是以一条描述数据的方式进行定义并存储的。每一条描述数据是由多个预先定义的字段,字段存储其对应的属性值以及各个字段的属性值组合起来描述的。下表中列举了每一菜单项的描述数据中必要的字段及相应说明。
[0029]
[0030] 其中,可修改数值字段用于存储当前菜单项中用户可以修改的数值,用户在显示界面上对菜单项的设置操作会由设置程序转化为对此字段的数值的修改操作,应用程序通过访问接口监听到此数值的修改后,执行修改后的数据对应的逻辑代码,完成一次修改。菜单项识别码字段用于存储当前菜单项的唯一标识,此标识代表一个菜单项,对菜单项的操作都转化为对包含其菜单项识别码的一条数据的操作。是否有子菜单字段用于表示当前菜单项是否有子菜单项。父菜单项识别码字段用于存储菜单项的父菜单项的菜单项识别码。父菜单项和子菜单项之间通过唯一标识码互相链接。当菜单项被展开或点击的时候,设置程序首先会查询此菜单项对应数据中“是否有子菜单”字段的值,如果有子菜单项,则会查询所有菜单项的描述数据中父菜单项识别码字段,将父菜单项的菜单项识别码与当前的菜单项识别码相同的菜单项确定为当前菜单项的子菜单项。
[0031] 需要说明的是,每个菜单项是由一个或多个控件组成,控件的类型可以包括:按钮、开关、进度条、下拉列表、选项方块等。
[0032] 本发明实施例提供了一种控制应用程序的设置菜单的方法,如图1所示,包括:
[0033] 101、设置程序获取设置菜单调用指令。
[0034] 其中,设置菜单调用指令用于指示设置程序显示应用程序的设置菜单。
[0035] 需要说明的是,设置程序是用于专门控制所有应用程序的设置菜单的程序。每一应用程序的设置菜单的描述数据分别存储于各个应用程序中,设置程序不保存这些信息,当需要显示某个应用程序的设置菜单时,设置程序通过应用程序注册时提供的访问接口动态读取该应用程序的设置菜单的描述数据,并根据读取到的描述数据显示设置菜单。这样实现了设置菜单的显示与设置菜单的描述数据的解耦合,应用程序的设置菜单的描述数据可以由对应的应用程序动态更改,并且可以直接在设置程序中显示应用程序中内置的设置菜单。
[0036] 具体的,操作系统中的用户输入管理模块(window manager)检测到用户输入信息,确定该用户输入信息是否符合设置程序的调用条件,在符合设置程序的调用条件的情况下,触发设置程序启动,设置程序在启动过程中加载设置菜单调用指令。其中,调用条件只要区别于现有技术中触发其他操作的条件即可,可以是触发特定的按键,也可以用户在显示屏上划出特定轨迹,本发明对此不做限制。
[0037] 示例性的,假设触发设置程序调用条件是用户触发特定的设置按键,在设备监测到用户操作后,确定用户的操作是否为触发设置按键,在确定用户的操作为触发设置按键的情况下,触发设置程序启动,设置程序在启动过程中加载设置菜单调用指令。
[0038] 102、设置程序根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据。
[0039] 其中,访问接口用于传输设置程序与应用程序之间与应用程序的设置菜单相关的数据,描述数据用于存储应用程序的设置菜单的菜单项。
[0040] 需要说明的是,设置程序的应用程序数据库中存储有已注册的应用程序的应用标识及对应的访问接口。其中,应用标识用来唯一标识一个应用程序。以安卓系统为例,应用程序的应用标识可以为包名字符串。访问接口用来跨进程获取设置菜单的描述数据以及改写描述数据中的可修改数值。
[0041] 具体的,设置程序在获取到设置菜单调用指令后,根据该指令确定需要显示设置菜单的应用程序,然后从设置程序所存储的应用程序数据库中,查找出需要显示设置菜单的应用程序对应的访问接口,设置程序解析访问接口,通过此接口读取设置菜单的描述数据。同时应用程序响应此接口的读取操作,将读取操作请求的描述数据返回至设置程序。
[0042] 需要说明的是,根据设置程序获取设置菜单调用指令时的触发条件不同,导致设置程序获得的设置菜单调用指令不同,进而设置菜单在屏幕上的显示方式不同。一种是将所有注册过的应用程序的设置菜单全部显示。另一种是将用户正在处理的应用程序的设置菜单进行显示。
[0043] 进一步的,调用指令中可以携带应用程序的应用标识,此时设置程序只显示调用指令中指定的应用程序的设置菜单。
[0044] 需要说明的是,可能存在需要显示设置菜单的应用程序并没有在设置程序中注册过的情况,即设置程序的应用程序数据库中没有存储该应用程序对应的应用标识和访问接口,此时设置程序在从应用程序数据库查找不到对应的访问接口,此时设置程序不能获取设置菜单的描述数据,进而不能显示该应用程序的设置菜单。
[0045] 需要说明的是,由于多数情况下,用户在显示应用程序的设置菜单后,会对设置菜单中的选项进行修改,所以在设置程序读取应用程序的描述数据后,应用程序需要对描述数据中可修改数值添加数据变化监听器,用来监听用户在显示界面上对可修改数据进行的修改。同时设置程序也可以对描述数据中能够修改的字段(例如可修改数值、可见性、可用性等)添加数据变化监听器,当该数据变化监听器监听到应用程序中的描述数据发生变化时,设置程序重新读取描述数据,并显示更新后的设置菜单。
[0046] 103、设置程序根据描述数据显示应用程序的设置菜单。
[0047] 具体的,设置程序解析读取到的描述数据,按照设置菜单的描述数据定义的规则,将每条描述数据转换成一个菜单项,并在显示界面显示各个菜单项。
[0048] 本发明实施例提供了一种控制应用程序的设置菜单的方法,设置程序获取设置菜单调用指令,根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。这样应用程序中存储设置菜单的描述数据,设置程序通过访问接口读取应用程序的设置菜单的描述数据进行显示,使得应用程序的设置菜单的显示与设置菜单的描述数据相分离,最终可以直接在设置程序中显示应用程序中内置的设置菜单。
[0049] 需要说明的是,本发明实施例提供了两种设置菜单的显示方式,一种是将所有注册过的应用程序的设置菜单全部显示,进入显示界面需要将当前的活动的应用程序切换为设置程序,此时,设置菜单的显示可以是如图2所示将所有需要显示的应用程序的设置菜单在显示界面上同时显示,还可以用左右两页面显示,左边页面有多行,每行一个应用程序的名称,点击其中一行会显示第二页,第二页显示这个应用程序的设置菜单。另一种是将用户正在处理的应用程序的设置菜单浮动在应用程序之上的显示界面进行显示,进入此显示界面不需要切换应用程序,当前的活动应用程序不变且继续运行,如图3所示设置菜单的显示界面在任意时刻可以调用出现,在当前应用程序的界面上占据部分屏幕空间浮动显示。不同的触发条件,导致设置程序获得的设置菜单调用指令不同,进而设置菜单在屏幕上的显示方式不同。以下用两个实施例将不同设置菜单调用指令对应的终端的处理步骤分别进行说明。
[0050] 本发明实施例提供了一种控制应用程序的设置菜单的方法,当设置菜单调用指令为指示设置程序显示用户正在处理的应用程序的设置菜单的当前应用设置菜单调用指令,如图4所示,包括:
[0051] 401、设置程序获取当前应用设置菜单调用指令。
[0052] 其中,当前应用设置菜单调用指令用于指示设置程序显示顶层活动的应用程序的设置菜单。
[0053] 需要说明的是,顶层活动的应用程序是指当前用户操作的应用程序。
[0054] 具体的,操作系统中的用户输入管理模块(window manager)检测到用户输入信息,确定该用户输入信息是否符合设置程序调用当前应用设置指令的条件,在符合调用条件的情况下,触发启动设置程序,设置程序在启动过程中加载当前应用设置菜单调用指令。
[0055] 402、设置程序获取顶层活动的应用程序的应用标识。
[0056] 其中,应用标识用于唯一标识一个应用程序。
[0057] 具体的,设置程序收到当前应用设置菜单调用指令后,通过操作系统的应用管理框架(activity manager)查询当前顶层活动的应用程序的应用标识。
[0058] 403、设置程序根据当前应用设置菜单调用指令,通过访问接口获取顶层活动的应用程序存储的设置菜单的描述数据。
[0059] 其中,访问接口用于传输设置程序与应用程序之间与应用程序的设置菜单相关的数据。描述数据用于存储应用程序的设置菜单的菜单项。
[0060] 具体的,可参考步骤102,在此不再说明。
[0061] 404、设置程序根据描述数据显示顶层活动的应用程序的设置菜单。
[0062] 具体的,可参考步骤103,在此不再说明。
[0063] 本发明实施例提供了一种控制应用程序的设置菜单的方法,设置程序获取当前应用设置菜单调用指令,获取顶层活动的应用程序的应用标识,设置程序根据当前应用设置菜单调用指令,通过访问接口获取顶层活动的应用程序存储的设置菜单的描述数据,并根据描述数据显示顶层活动的应用程序的设置菜单。这样应用程序中存储设置菜单的描述数据,设置程序通过访问接口读取应用程序的设置菜单的描述数据进行显示,使得应用程序的设置菜单的显示与设置菜单的描述数据相分离,最终可以直接在设置程序中显示应用程序中内置的设置菜单。
[0064] 本发明实施例提供了另一种控制应用程序的设置菜单的方法,当设置菜单调用指令为指示设置程序显示所有注册过的应用程序的设置菜单的已注册应用设置菜单调用指令。如图5所示,包括:
[0065] 501、设置程序获取已注册应用设置菜单调用指令。
[0066] 其中,已注册应用设置菜单调用指令用于指示设置程序显示已注册的应用程序的设置菜单。
[0067] 具体的,操作系统中的用户输入管理模块(window manager)检测到用户输入信息,确定该用户输入信息是否符合设置程序调用已注册应用设置菜单调用指令的条件,在符合调用条件的情况下触发设置程序启动,设置程序在启动过程中加载已注册应用设置菜单调用指令。
[0068] 502、设置程序从应用程序数据库中查找已注册的应用程序的应用标识。
[0069] 其中,应用程序数据库是设置程序管理的用于存储已注册的应用程序的应用标识及对应的访问接口的数据库。
[0070] 具体的,设置程序从应用程序数据库中读取全部记录,获取所有在设置程序注册过的应用程序的应用标识。
[0071] 503、根据已注册应用设置菜单调用指令和应用程序标识,依次通过与应用程序标识对应的访问接口获取与应用程序标识对应的应用程序存储的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。
[0072] 具体的,根据获取到的应用标识,依次获取每一应用程序的描述数据,并将每一应用程序的设置菜单在同一界面显示。获取每一应用程序的描述数据的过程,可参考步骤102,根据描述数据将每一应用程序的设置菜单进行显示的过程,可参考步骤103,在此不再赘述。
[0073] 本发明实施例提供了一种控制应用程序的设置菜单的方法,设置程序获取已注册应用设置菜单调用指令,设置程序从应用程序数据库中查找已注册的应用程序的应用标识,根据已注册应用设置菜单调用指令和应用程序标识,依次通过与应用程序标识对应的访问接口获取与应用程序标识对应的应用程序存储的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。这样应用程序中存储设置菜单的描述数据,设置程序通过访问接口读取应用程序的设置菜单的描述数据进行显示,使得应用程序的设置菜单的显示与设置菜单的描述数据相分离,最终可以直接在设置程序中显示应用程序中内置的设置菜单。
[0074] 需要说明的是,上述实施例只描述了如何将应用程序中内置的设置菜单进行显示,在显示的基础上,用户还会对设置菜单中的选项进行修改,所以本发明实施例提供了一种控制应用程序的设置菜单的方法,用于将设置程序显示的设置菜单的描述数据进行修改。如图6所示,包括:
[0075] 601、设置程序获取设置操作指令。
[0076] 其中,设置操作指令用于更改应用程序的设置菜单中的目标菜单项。设置操作指令携带目标菜单项的可修改数值字段的更新值。
[0077] 需要说明的是,目标菜单项是设置操作指令需要修改的菜单项。
[0078] 具体的,显示的设置菜单控件分别归属不同的应用程序,一般来说,系统中生成一张表格,以应用程序标识作为关键字,以其菜单项识别码数组作为数值。这样,点击某个菜单项的时候,程序就能查到是属于那个应用程序。操作系统中的用户输入管理模块(window manager)检测到用户对显示界面的操作,并将检测到的操作分发给设置菜单显示界面上的具体菜单控件。设置菜单的显示界面上被操作的具体菜单控件响应用户的操作,菜单控件向设置程序发送携带更新值的设置操作指令。
[0079] 602、设置程序将设置操作指令携带的更新值转换为目标菜单项的可修改数值字段对应的可设置数值。
[0080] 需要说明的是,从操作系统中的窗口管理模块获得的更新值可能为字符串类型,而可修改数值字段对应的可设置数值的类型为数字,所以需要将字符串转换为数字,以便应用程序能够根据可设置数值更改目标菜单项。
[0081] 具体的,设置程序查询触发的菜单控件信息,找到其对应的菜单项识别码,确定目标菜单项,并根据相关转换规则将更新值转换成对应的可设置数值。
[0082] 603、设置程序通过访问接口向应用程序发送改写请求。
[0083] 其中,改写请求携带目标菜单项的标识和可设置数值。
[0084] 需要说明的是,设置程序确定出目标菜单项,然后在应用程序数据库中查找出目标菜单项所属的应用程序对应的访问接口,通过该接口向应用程序发送携带可设置数据的改写请求。
[0085] 604、应用程序根据改写请求更新设置菜单的目标菜单项的描述数据,并更新设置菜单中与目标菜单项相关的菜单项。
[0086] 需要说明的是,应用程序中设置有菜单项之间的逻辑关系,当一个菜单项中可修改数值字段更新时,与此相关的菜单项可能也会发生变化。其中,设置菜单中与目标菜单项相关的菜单项是指应用程序的逻辑设置上与目标菜单项相关的菜单项。
[0087] 示例性的,若设置菜单中有两个菜单项,一个为是否静音的菜单项,另一个是控制音量大小的菜单项。那么当目标菜单项是是否静音的菜单项,且需要将目标菜单项改为静音状态时,需要修改控制音量大小的菜单项为不可用状态。
[0088] 具体的,应用程序根据改写请求中携带的菜单项识别码确定目标菜单项,将目标菜单项中可修改数值字段的数值更新为可设置数值,然后根据应用程序内部设定的各菜单项之间的逻辑关系,将修改目标菜单项中可修改数值字段后的影响的菜单项进行相应更新。
[0089] 需要说明的是,步骤601-604完成了对应用程序的设置菜单的修改操作,但是并没有更新显示的设置菜单,所以为了将更新后的设置菜单进行显示,进一步的,该方法还包括:
[0090] 605、设置程序通过访问接口获取更新后的应用程序的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。
[0091] 具体的,设置程序重新显示设置菜单的过程,可参考步骤102-103,再次不再赘述。
[0092] 需要说明的是,步骤605可以是在步骤604后紧接着执行,也可以是步骤604后,用户将设置程序的显示设置菜单的界面关闭后,重新显示设置菜单时执行。
[0093] 本发明实施例提供了一种控制应用程序的设置菜单的方法,在显示了设置菜单之后,设置程序获取设置操作指令,将设置操作指令携带的更新值转换为目标菜单项的可设置控件可修改数值字段对应的可设置数值,通过访问接口向应用程序发送携带可设置数值的改写请求。应用程序根据改写请求更新设置菜单的目标菜单项的描述数据,并更新设置菜单中与目标菜单项相关的菜单项。如此,设置程序只需要将从用户处获取的数据传递给应用程序,应用程序就能够对相应菜单项进行修改,完成设置菜单的修改。
[0094] 需要说明的是,在显示应用程序的设置菜单之前,还需要将应用程序在设置程序中注册,所以本发明实施例提供了一种控制应用程序的设置菜单的方法,用于在设置程序中注册应用程序。如图7所示,包括:
[0095] 701、在应用程序的用户数据为空的情况下,应用程序向设置程序发送注册请求消息。
[0096] 其中,注册请求消息中携带应用程序的应用标识和访问接口。
[0097] 需要说明的是,应用程序的用户数据为空的情况包括:安装应用程序,或者升级应用程序,或者恢复应用程序出厂设置,或者用户清空应用程序的用户数据。
[0098] 需要说明的是,应用标识和访问接口是应用程序中的固有属性。是由应用程序本身所决定的。
[0099] 需要说明的是,用户数据是用户对应用程序所做的所有操作的数据,例如用户账号、使用痕迹、用户修改的设置信息等。
[0100] 702、设置程序根据注册请求消息更新应用程序数据库。
[0101] 需要说明的是,在根据注册请求消息更新应用程序数据库之前,还可以确定获取的注册请求消息中携带的应用标识和访问接口是否符合各自规则,在符合规则的情况下,根据注册请求消息更新应用程序数据库;在不符合规则的情况下,说明应用标识和/或访问接口有误,不更新应用程序数据库。
[0102] 需要说明的是,应用程序发送注册请求消息的情况有多种,其中只有在应用程序是首次安装的情况下,应用程序数据库中没有存储应用程序的应用标识和访问接口;在其他情况下,应用程序数据库中存储有应用程序的用用标识的访问接口。所以此时设置程序还需要根据注册请求消息中的应用标识判断应用程序数据库中是否已注册应用程序。
[0103] 相应的,步骤702,根据确定出的结果不同,具体的实现过程不同。
[0104] 若已注册应用程序,则根据注册请求消息中的访问接口更新应用程序数据库中与注册请求消息中的应用标识对应的访问接口;若未注册应用程序,则将注册请求消息中的应用标识和访问接口对应存储于应用程序数据库。
[0105] 具体的,在设置程序确定出应用层序数据库中存储有注册请求消息中携带的应用标识时,将应用程序数据库中与该应用标识对应的访问接口更新为注册请求消息中携带的访问接口;在设置程序确定出应用程序数据库中没有存储注册请求消息中携带的应用标识时,将注册请求消息中携带的应用标识和访问接口存储于应用程序数据库。
[0106] 本发明实施例提供了一种控制应用程序的设置菜单的方法,在显示设置菜单之前,在应用程序的用户数据为空的情况下,应用程序向设置程序发送注册请求消息,设置程序根据注册请求消息更新应用程序数据库。如此,实现了应用程序在设置程序的应用程序数据库中的注册。
[0107] 需要说明的是,在以上所有是实施例的基础上,当已经用上述方法在设置程序的应用程序数据库中注册了某个应用程序的情况下,此应用程序可以在任意时刻发送注销请求,用于在设置程序中注销该应用程序的设置菜单。本发明实施例提供了一种控制应用程序的设置菜单的方法,用于注销设置程序中注册的应用程序。如图8所示,包括:
[0108] 801、应用程序向设置程序发送注销请求。
[0109] 其中,注销请求的数据中携带应用标识。
[0110] 802、设置程序根据注销请求的数据中携带应用标识,在应用程序数据库中查找对应的应用标识和访问接口。
[0111] 具体的,设置程序以应用标识为关键字,在应用程序数据库中查找是否有相同的应用标识,在找到对应数据后,将应用程序数据库中存储的该应用标识和对应的访问接口删除。
[0112] 803、如果设置菜单显示界面上正在显示此应用程序的设置菜单,则重新显示已注册的应用程序的设置菜单,或者直接退出设置菜单显示界面。
[0113] 需要说明的是,当将所有注册过的应用程序的设置菜单同时全部显示的情况下,重新读取所有已注册的应用程序的描述数据,重新显示设置菜单。当将用户正在处理的应用程序的设置菜单浮动在应用程序之上的界面显示的情况下,直接关闭设置菜单显示界面。
[0114] 本发明实施例提供了一种控制应用程序的设置菜单的方法,应用程序向设置程序发送注销请求。设置程序根据注销请求的数据中携带应用标识,在应用程序数据库中查找对应的应用标识和访问接口,如果设置菜单显示界面上正在显示此应用程序的设置菜单,则重新显示已注册的应用程序的设置菜单,或者直接退出设置菜单显示界面。这样,就实现了将在设置程序中注册的应用程序注销。
[0115] 如图9所示,本发明实施例提供了一种控制应用程序的设置菜单的装置的功能示意图,参考图9所示,该装置包括:901设置程序模块和应用程序模块902。
[0116] 设置程序模块901,用于获取设置菜单调用指令;设置菜单调用指令用于指示设置程序模块901显示应用程序的设置菜单;
[0117] 设置程序模块901,还用于根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据;访问接口用于传输设置程序与应用程序之间与应用程序的设置菜单相关的数据;描述数据用于存储应用程序模块902的设置菜单的菜单项;
[0118] 设置程序模块901,还用于根据描述数据显示应用程序的设置菜单。
[0119] 根据设置菜单调用指令不同,设置程序模块901的作用不同。
[0120] 第一种情况,设置菜单调用指令包括:当前应用设置菜单调用指令;当前应用设置菜单调用指令用于指示设置程序模块901显示顶层活动的应用程序的设置菜单;
[0121] 此时,设置程序模块901,还用于获取顶层活动的应用程序的应用标识;应用标识用于唯一标识一个应用程序;
[0122] 设置程序模块901,具体用于根据当前应用设置菜单调用指令,通过访问接口获取顶层活动的应用程序存储的设置菜单的描述数据;
[0123] 设置程序模块901,具体用于根据描述数据显示顶层活动的应用程序的设置菜单。
[0124] 第一种情况,设置菜单调用指令包括:已注册应用设置菜单调用指令;已注册应用设置菜单调用指令用于指示设置程序模块901显示已注册的应用程序的设置菜单;
[0125] 此时,设置程序模块901,还用于从应用程序数据库中查找已注册的应用程序的应用标识;应用程序数据库用于存储已注册的应用程序的应用标识及对应的访问接口;
[0126] 设置程序模块901,具体用于根据已注册应用设置菜单调用指令和应用程序标识,依次通过与应用程序标识对应的访问接口获取与应用程序标识对应的应用程序存储的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。
[0127] 进一步的,设置程序模块901,还用于获取设置操作指令;设置操作指令用于更改应用程序的设置菜单中的目标菜单项;设置操作指令携带目标菜单项的可修改数值字段的更新值;
[0128] 设置程序模块901,还用于将设置操作指令携带的更新值转换为目标菜单项的可修改数值字段对应的可设置数值;
[0129] 设置程序模块901,还用于通过访问接口向应用程序模块902发送改写请求;改写请求携带目标菜单项的菜单项识别码和可设置数值;
[0130] 应用程序模块902,还用于根据改写请求更新设置菜单的目标菜单项的描述数据,并更新设置菜单中与目标菜单项相关的菜单项。
[0131] 进一步的,设置程序模块901,还用于通过访问接口获取更新后的应用程序的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。
[0132] 进一步的,应用程序模块902,用于在应用程序的用户数据为空的情况下,向设置程序模块901发送注册请求消息;注册请求消息中携带应用程序的应用标识和访问接口;
[0133] 其中,应用程序的用户数据为空的情况包括:安装应用程序,或者升级应用程序,或者恢复应用程序出厂设置,或者用户清空应用程序的用户数据;
[0134] 设置程序模块901,还用于根据注册请求消息更新应用程序数据库。
[0135] 进一步的,设置程序模块901,还用于根据注册请求消息中的应用标识判断应用程序数据库中是否已注册应用程序;
[0136] 设置程序模块901,具体用于若已注册应用程序,则根据注册请求消息中的访问接口更新应用程序数据库中与注册请求消息中的应用标识对应的访问接口;若未注册应用程序,则将注册请求消息中的应用标识和访问接口对应存储于应用程序数据库。
[0137] 本发明实施例提供了一种控制应用程序的设置菜单的装置,设置程序获取设置菜单调用指令,根据设置菜单调用指令,通过访问接口获取应用程序存储的设置菜单的描述数据,并根据描述数据显示应用程序的设置菜单。这样应用程序中存储设置菜单的描述数据,设置程序通过访问接口读取应用程序的设置菜单的描述数据进行显示,使得应用程序的设置菜单的显示与设置菜单的描述数据相分离,最终可以直接在设置程序中显示应用程序中内置的设置菜单。并且在显示了设置菜单之后,设置程序获取设置操作指令,将设置操作指令携带的更新值转换为目标菜单项的可设置控件可修改数值字段对应的可设置数值,通过访问接口向应用程序发送携带可设置数值的改写请求。应用程序根据改写请求更新设置菜单的目标菜单项的描述数据,并更新设置菜单中与目标菜单项相关的菜单项。如此,设置程序只需要将从用户处获取的数据传递给应用程序,应用程序就能够对相应菜单项进行修改,完成设置菜单的修改。进一步应用程序还可以向设置程序发送注册请求消息和注销请求,实现了将在设置程序中应用程序注册和注销。
[0138] 在本申请所提供的几个实施例中,应该理解到,所描述的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0139] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0140] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以两个或两个以上单元集成在一个单元中。
[0141] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。