应用的功能状态修改方法、装置及终端与流程

文档序号:12068447阅读:473来源:国知局
应用的功能状态修改方法、装置及终端与流程

本发明涉及终端技术领域,特别涉及一种应用的功能状态修改方法、装置及终端。



背景技术:

随着终端技术的发展,不同品牌的终端可以搭载不同的操作系统,以手机为例,华为手机搭载的是EMUI系统,小米手机搭载的是MIUI系统,不同的操作系统可以具有不同的系统设置界面。终端上可以安装多个应用,每个应用具有多种功能。对于应用的某些功能,如开机自启动、桌面悬浮窗等功能,需要通过系统设置来修改该功能的状态,如将功能的状态修改为启用状态或禁用状态。

现有技术中,对于不同的操作系统,修改应用功能状态的具体操作方式不同。比如,EMUI系统提供了系统设置界面,该系统设置界面包含对应用的不同功能的设置选项。当用户在EMUI系统中开启某一应用的开机自启动功能时,需要在EMUI系统设置界面中找到开机自启动的开启选项,进而通过点击该开启选项,使得终端开启该应用的开机自启动功能。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:对于任一种操作系统来说,在进行功能状态修改时,均需要找到该状态修改所在的系统设置界面,再通过对系统设置界面中相应选项进行状态修改,其操作过程繁琐,操作路径较长。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种应用的功能状态修改方法、装置及终端。所述技术方案如下:

一方面,提供了一种应用的功能状态修改方法,所述方法包括:当检测到对应用的指定功能的状态修改操作时,获取终端系统标识;

根据所述终端系统标识,从预设指令列表中获取目标状态修改指令,所述目标状态修改指令用于指示终端系统将所述指定功能设置为所述状态修改操作对应的状态,所述预设指令列表至少用于存储至少一个终端系统标识和状态修改指令的对应关系;

向所述终端系统发送所述目标状态修改指令,使得所述终端系统响应于所述目标状态修改指令,将所述指定功能设置为所述状态修改操作对应的状态。

另一方面,提供了一种应用的功能状态修改装置,所述装置包括:

第一获取模块,用于当检测到对应用的指定功能的状态修改操作时,获取终端系统标识;

第二获取模块,用于根据所述终端系统标识,从预设指令列表中获取目标状态修改指令,所述目标状态修改指令用于指示终端系统将所述指定功能设置为所述状态修改操作对应的状态,所述预设指令列表至少用于存储至少一个终端系统标识和状态修改指令的对应关系;

发送模块,用于向所述终端系统发送所述目标状态修改指令,使得所述终端系统响应于所述目标状态修改指令,将所述指定功能设置为所述状态修改操作对应的状态。

又一方面,提供了一种终端,包括:终端系统和上述应用的功能状态修改装置。

本发明实施例提供的技术方案带来的有益效果是:

针对应用的功能,预先获取到了用于存储该功能的至少一个终端系统标识以及对应的状态修改指令的预设指令列表,因此,可以在需要进行功能状态修改时,通过触发状态修改操作,使得能够从预设指令列表中获取与当前终端系统匹配的状态修改指令,并由终端系统执行该状态修改指令,达到修改功能状态的目的,简化了操作过程,缩短了操作路径。

附图说明

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

图1是本发明实施例提供的一种应用的功能状态修改方法的流程图;

图2是本发明实施例提供的一种应用的功能状态修改方法的流程图;

图3是本发明实施例提供的一种应用的功能状态修改装置的框图;

图4是本发明实施例提供的一种终端的结构示意图。

具体实施方式

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

图1是本发明实施例提供的一种应用的功能状态修改方法的流程图,参见图1,本发明实施例提供的方法流程包括:

101、当检测到对应用的指定功能的状态修改操作时,获取终端系统标识。

102、根据终端系统标识,从预设指令列表中获取目标状态修改指令,该目标状态修改指令用于指示终端系统将指定功能设置为状态修改操作对应的状态,该预设指令列表至少用于存储至少一个终端系统标识和状态修改指令的对应关系。

103、向终端系统发送目标状态修改指令,使得终端系统响应于目标状态修改指令,将指定功能设置为状态修改操作对应的状态。

本发明实施例提供的方法,针对应用的功能,预先获取到了用于存储该功能的至少一个终端系统标识以及对应的状态修改指令的预设指令列表,因此,可以在需要进行功能状态修改时,通过触发状态修改操作,使得能够从预设指令列表中获取与当前终端系统匹配的状态修改指令,并由终端系统执行该状态修改指令,达到修改功能状态的目的,简化了操作过程,缩短了操作路径。

在一种可能的实现方式中,目标状态修改指令包含应用的应用标识、指定功能的功能标识以及目标状态值,目标状态修改指令用于指示终端系统将应用的指定功能的功能标识对应的状态值修改为目标状态值。

在一种可能的实现方式中,目标状态修改指令包含第一指令和第二指令,第一指令包含应用的应用标识、指定功能的启用列表标识和第一操作标识,第二指令包含应用的应用标识、指定功能的禁用列表标识和第二操作标识,

当状态修改操作为启用操作时,第一操作标识为添加操作标识,第二操作标识为删除操作标识,第一指令用于指示终端系统在指定功能的启用列表中添加应用标识,第二指令用于指示终端系统在指定功能的禁用列表中删除应用标识;或,

当状态修改操作为禁用操作时,第一操作标识为删除操作标识,第二操作标识为添加操作标识,第一指令用于指示终端系统在指定功能的启用列表中删除应用标识,第二指令用于指示终端系统在指定功能的禁用列表中添加应用标识。

在一种可能的实现方式中,预设指令列表携带在应用的安装包中。

在一种可能的实现方式中,检测到对应用的指定功能的状态修改操作之后,方法还包括:

检测应用是否具有对终端系统的root权限;

如果具有,则执行获取终端系统标识的步骤;

如果不具有,则不响应状态修改操作,并显示提示消息,提示消息用于提示应用不具有对终端系统的root权限。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

图2是本发明实施例提供的一种应用的功能状态修改方法的流程图,参见图2,本发明实施例提供的方法流程包括:

201、当应用客户端检测到对应用的指定功能的状态修改操作时,检测应用是否具有对终端系统的root权限,如果是,执行步骤202,如果否,执行步骤206。

其中,指定功能是指需要在具有对终端系统root权限下进行状态修改的功能,比如,开机自启动、桌面悬浮窗等功能。

现有技术中,该指定功能只能通过系统设置来修改功能的状态。在本发明实施例中,该应用可以提供功能的状态设置界面,用户可以在该状态设置界面触发对指定功能的状态修改操作。该状态修改操作包括启用操作和禁用操作。该启用操作用于指示启用该指定功能,该禁用操作用于指示禁用该指定功能。此外,用户还可以通过该指定功能的状态修改快捷键触发状态修改操作,本发明实施例对状态修改操作的触发方式不作具体限定。

为了提高终端系统的安全性,可以设置指定功能需要在具有对终端系统root权限下进行状态修改,因此,在应用检测到对指定功能的状态修改操作时,应用需要检测自身是否具有对终端系统的root权限,以便后续根据检测结果响应该状态修改操作。

202、如果应用具有对终端系统的root权限,则应用客户端获取终端系统标识。

其中,终端系统标识用于唯一标识终端所使用的系统,该终端系统标识可包含终端系统名称和版本号,或者该终端系统标识还可以为开发人员预设的其他系统编号,本发明实施例对此不作具体限定。应用客户端可以通过第一预设接口与终端系统进行交互,以获取终端系统标识,该第一预设接口可由终端系统进行预先设定或修改,本发明实施例对此不作限定。

需要说明的是,上述步骤101和102是当检测到对应用的指定功能的状态修改操作时获取终端系统标识的一种实现方式,而在另一实施例中,还可以不检测该应用是否具有终端系统的root权限,而直接在检测到状态修改操作时,获取终端系统标识。在该不进行检测的情况下执行获取步骤,可以是默认终端系统中所安装的任一个应用均具有root权限,也可以是该状态修改不限制应用是否具有root权限,本发明实施例对此不作具体限定。

203、应用客户端根据终端系统标识,从预设指令列表中获取目标状态修改指令。

其中,预设指令列表至少用于存储至少一个终端系统标识和状态修改指令的对应关系。该预设指令列表为指定功能的预设指令列表,也即是,该预设指令列表存储的状态修改指令用于对指定功能的状态进行修改。当然,应用的其他功能也可具有对应的指令列表。

上述内容是按照一个功能对应一个指令列表举例说明,而实际场景中,可以将多个功能的指令列表集成于一个指令列表中,也即是,应用维护一个包含多个功能的状态修改指令的指令列表,本发明实施例对预设列表的具体形式不作具体限定。

其中,目标状态修改指令用于指示终端系统将应用的指定功能设置为该状态修改操作对应的状态。该目标状态修改指令是指与终端系统标识对应的状态修改指令。

应用客户端根据终端系统标识,从预设指令列表中获取目标状态修改指令的过程可以为:当应用客户端获取到终端系统标识后,在预设指令列表存储的至少一个终端系统标识中查找是否存在该终端系统标识,如果存在,则将该终端系统标识对应的状态修改指令确定为目标状态修改指令。如果不存在,则不执行该获取操作。

需要说明的是,该预设指令列表可以携带在该应用的安装包中,使得应用客户端在安装后便可从终端本地获取到该预设指令列表。或者,该预设指令列表由应用在安装后从服务器获取,本发明实施例对此不作具体限定。进一步地,应用还可对该预设指令列表进行更新,该更新过程可以为应用周期性地从服务器获取更新的预设指令列表,或者由服务器在对预设指令列表进行更新后发送至应用所在的终端,本发明实施例对此不作具体限定。

在本发明实施例中,可基于反编译技术对不同终端系统的应用功能状态管理的系统App进行逆向研究,从而了解指定功能的实现方式,进而确认该指定功能在不同的终端系统下的状态修改指令,具体流程如下:

1、确定指定功能对应的系统App。

通过指定系统管理软件,执行“adb shell dumpsys activity top”命令,获取当前终端系统的系统App信息,比如,终端系统App对应的包名。之后,通过执行“pm list package-f|grep+包名”命令可获取到系统App的apk文件的存储路径,进而获取到系统App的apk文件。

以华为EMUI3.0系统为例,通过该步骤可以获取到系统App的包名为com.huawei.systemmanager,App的apk文件的存储路径为/system/app/HwSystemManager.apk。

2、针对指定功能,对App的apk文件进行反编译,得到指定功能的状态修改接口。

其中,进行反编译的工具可以为dex2jar、jd-gui、Smali2Java、apktool等,本发明实施例对此不作具体限定。

通过对指定功能进行反编译可以得到指定功能的状态修改接口。比如,以在EMUI3.0系统中启用应用的桌面悬浮窗功能为例,其状态修改接口为com.huawei.systemmanager.addviewmonitor.AddViewAppManager.setOpsMode。

3、分析反编译得到的代码,以确定指定功能的状态修改接口的调用参数、以及所属的系统服务。

仍以在EMUI3.0系统中启用应用的桌面悬浮窗功能为例,通过对反编译得到的代码,可以得到setOpsMode核心部分是调用成员变量mAppOsp的setMode方法,其调用参数包括uid,pkgname,addViewAllow。通过构造器可以知道setOpsMode所属的系统服务为mAppOsp,且其服务名为appops,也即是通过服务名appops便可调用mAppOsp系统服务,进而调用setOpsMode接口以实现指定功能的状态修改操作。其中,uid是指该应用的应用编码,pkgname是指应用的包名,addViewAllow是指启用桌面悬浮窗功能,其对应的状态值为0。

需要说明的是,在安卓系统中调用系统服务的命令是统一的,为service call,因此,在确定指定功能的状态修改所属服务以及调用接口后,可根据service call命令构造指定功能的状态修改指令。

4、构造指定功能的状态修改指令。

通过service list命令,获取appops服务下setOpsMode接口的业务码以及桌面悬浮窗功能的业务码。根据该setOpsMode接口的业务码以及setMode方法的调用参数,构造应用的指定功能的状态修改指令。以应用为qq音乐开启桌面悬浮窗功能为例,该qq音乐的uid为10088,包名为“com.tencent.qqmusic”,则构造出来的命令为:

service call appops 11i32 24i32 10088s16"com.tencent.qqmusic"i32 0。

其中,“11”表示setOpsMode接口的业务码,“24”桌面悬浮窗功能的业务码。“i32”表示“i32”之后的调用参数的数据类型为整型;“s16”表示“s16”之后的调用参数为字符型。“0”表示将状态值修改为0,也即为启用悬浮窗功能。

该构造出来的命令即为在华为EMUI3.0系统中,用于启用qq音乐的桌面悬浮窗功能的状态修改指令。通过构造出来的状态修改指令可以得出,类似桌面悬浮窗功能的状态修改指令中包含应用的应用标识、指定功能的功能标识以及目标状态值。

此外,由于并不是所有的功能都通过系统服务来管理的,也即是不是所有的功能都可以用service call命令调用系统服务来构造,一些功能的状态修改是通过相应的功能管理类来实现的。比如,通过上述1、2、3步骤可以获知开机自启动功能的状态修改是通过自启管理类com.huawei.systemmanager.optimize.bootstart.BootStartManager来实现的。通过反编译代码可以在BootStartManager类中找到allowAppStartup和forbidAppStartup两个方法,对应的操作分别是允许开机自启动和禁止开机自启动的操作。且这两个方法是通过操作ContentProvider来进行数据库的操作。

通过对反编译得到的代码可以得到allowAppStartup以及forbidAppStartup所涉及到的数据库列表标识包括START_UP_FORBIDDEN_APPS_URI(禁用列表标识)和START_UP_FORBIDDEN_APPS_URI(启用列表标识),该数据库列表标识中用于存储应用的应用标识,以指示该应用的开机自启动功能的状态。

其中,allowAppStartup方法中涉及到的对数据库列表的操作步骤为:

(1)删除START_UP_FORBIDDEN_APPS_URI中对应pkg的记录;

(2)增加START_UP_ALLOW_APPS_URI中对应pkg的记录。

forbidAppStartup方法中涉及到的对数据库列表的操作步骤为:

(1)删除START_UP_ALLOW_APPS_URI中对应pkg的记录;

(2)增加START_UP_FORBIDDEN_APPS_URI中对应pkg的记录。

需要说明的是,在安卓系统中通过ContentProvider来进行数据库的操作可以统一用content命令来调用。因此,可以根据content命令、开机自启动功能对应的数据库列表uri以及应用标识,便可构造应用的指定功能的状态修改指令。

以华为EMUI3.0系统中启用qq音乐的开机自启动功能为例,allowAppStartup对应的数据库列表uri为:

content://com.huawei.android.batteryspriteprovider/startupallowapps;

forbidAppStartup对应的数据库列表uri为:

content://com.huawei.android.batteryspriteprovider/forbiddenapps。

qq音乐的应用标识为“com.tencent.qqmusic”,则根据allowAppStartup方法的操作流程可构造出启用qq音乐的开机自启动功能的状态修改指令为:

(1)content insert--uri content://com.huawei.android.batteryspriteprovider/startupallowapps--bind package_name:s:com.tencent.qqmusic--bind app_type:i:1

(2)content delete--uri content://com.huawei.android.batteryspriteprovider/forbiddenapps--where"package_name='com.tencent.qqmusic'"。

通过构造的开机自启动功能的状态修改指令可以得出,类似开机自启动功能的状态修改指令中至少包含第一指令和第二指令,第一指令包含应用的应用标识、指定功能的启用列表标识和第一操作标识;第二指令包含应用的应用标识、指定功能的禁用列表标识和第二操作标识。例如,在上述启用qq音乐的开机自启动功能的状态修改指令中,第一指令中启用列表标识为“content://com.huawei.android.batteryspriteprovider/startupallowapps”,应用标识为“com.tencent.qqmusic”,第一操作标识为“insert”。

需要说明的是,上述指定功能的状态修改指令的获取方式中,仅以华为EMUI3.0系统中开机自启动功能和桌面悬浮窗功能为例进行解释说明,对于其他终端系统以及其他功能的修改指令获取方式同理。而且,通过上述构造的指令可以得出,指定功能的状态修改指令可以包含一条指令也可以包含一组指令,由实际终端系统中指定功能的状态修改操作决定,本发明实施例对此不作具体限定。

在得到应用指定功能在不同终端系统中的状态修改指令后,可以将应用的指定功能的至少一个终端系统标识以及对应的状态修改指令存储到预设指令列表中,并将该预设指令列表携带在应用的安装包中,以使在不同的终端系统中均能通过应用本地存储的预设指令列表获取到指定功能的状态修改指令。

例如,假如应用是qq音乐,终端系统为华为EMUI3.0,指定功能为桌面悬浮窗功能,状态修改操作指示的对指定功能的启用操作,则可以从预设列表中获取到qq音乐在华为EMUI3.0中启用桌面悬浮窗功能的目标状态修改指令为:service call appops 11i32 24i32 10088s16"com.tencent.qqmusic"i32 0。

在另一实施例中,应用也可不必在检测对指定应用的状态修改操作后,再获取指定功能的目标状态修改指令,而是自行获取指定应用的目标状态修改指令。比如,该指定功能可以为启用频率高于预设阈值的功能或者为预先设定的自动启用的功能,应用可自行获取用于启用指定功能的目标状态修改指令,而无需每个用户都执行一次对启用该指定功能的状态修改操作。该功能的启用频率可由开发人员进行统计得到,该预设阈值可以进行预先设置或修改,本发明实施例对此不作限定。

204、应用客户端向终端系统发送目标状态修改指令。

应用客户端通过第二预设接口将目标状态修改指令发送至终端系统,使得终端系统能够执行该目标状态修改指令,以实现指定功能设置为状态修改操作对应的状态。其中,第二预设接口可由终端系统进行预先设定或修改,第二预设接口与步骤202中的第一预设接口可以相同也可以不同,本发明实施例对此不作具体限定。

205、终端系统响应于接收到的目标状态修改指令,将指定功能设置为状态修改操作对应的状态。

终端系统在获取到应用的目标状态修改指令后,可以对目标状态修改指令进行解析,并将其加载到系统进程中以执行该目标状态该指令,进而实现将指定功能设置为状态修改操作对应的状态。

根据目标状态修改指令的不同类型,终端系统将指定功能设置为状态修改操作对应的状态的过程可以分为如下两种情况:

第一种情况:目标状态修改指令为service call命令。

该种情况下目标状态修改指令包含应用的应用标识、指定功能的功能标识以及目标状态值。目标状态修改指令用于指示终端系统将应用的指定功能的功能标识对应的状态值修改为目标状态值。

以在EMUI3.0系统中启用qq音乐的桌面悬浮窗功能为例,则获取到的目标状态修改指令为service call appops 11i32 24i32 10088s16"com.tencent.qqmusic"i32 0为例。终端系统通过service call命令调用appops服务,根据状态修改接口业务码11,调用setOpsMode状态修改接口,进而根据参数“i32 24i32 10088s16"com.tencent.qqmusic"i32 0”将qq音乐的10088功能(桌面悬浮窗功能)的状态值修改为0(启用状态)。

第二种情况,目标状态修改指令为content命令。

该种情况下目标状态修改指令至少包含第一指令和第二指令,也即是包含一组指令。其中,第一指令包含应用的应用标识、指定功能的启用列表标识和第一操作标识,第二指令包含应用的应用标识、指定功能的禁用列表标识和第二操作标识。

其中,当状态修改操作为启用操作时,第一操作标识为添加操作标识,第二操作标识为删除操作标识。当状态修改操作为禁用操作时,第一操作标识为删除操作标识,第二操作标识为添加操作标识。

当状态修改操作为启用操作时,终端系统分别执行第一指令和第二指令,以启用该指定功能。具体地,根据第一指令获取指定功能的启用列表,在该启用列表中添加应用的应用标识;根据第二指令获取指定功能的禁用列表,在该禁用列表中删除应用的应用标识。

当状态修改操作为禁用操作时,终端系统分别执行第一指令和第二指令,以禁用该指定功能。具体地,根据第一指令获取指定功能的启用列表,在该启用列表中删除应用的应用标识;根据第二指令获取指定功能的禁用列表,在该禁用列表中添加应用的应用标识。

以EMUI3.0系统中启用qq音乐的开机自启动功能为例,则获取到的目标状态修改指令为:

(1)content insert--uri content://com.huawei.android.batteryspriteprovider/startupallowapps--bind package_name:s:com.tencent.qqmusic--bind app_type:i:1

(2)content delete--uri content://com.huawei.android.batteryspriteprovider/forbiddenapps--where"package_name='com.tencent.qqmusic'"

其中,insert和delete为操作标识;

content://com.huawei.android.batteryspriteprovider/startupallowapps为指定功能的启用列表标识;

content://com.huawei.android.batteryspriteprovider/forbiddenapps为指定功能的禁用列表标识;

com.tencent.qqmusic为应用的应用标识。

终端系统在获取到该目标状态修改指令后,可以根据操作标识、所需操作的列表标识以及应用标识,执行相应的操作,以启用开机自启动功能。具体地,在启用功能列表标识中添加该应用标识,在禁用功能列表中删除该应用标识。

需要说明的是,在上述第二种情况中,第一指令可以在第二指令之前或之后执行,本发明实施例第一指令和第二指令执行的先后顺序不作具体限定。当目标状态修改指令包含一组指令时,应用可以通过第二预设接口将该一组指令按照执行顺序排列后一起发送给终端系统,也可以按照执行顺序逐一发送给终端系统,比如,在将一条指令发送给终端系统后,可以在接收到终端系统的指令执行成功反馈时,再发送下一条指令,本发明实施例对此不作限定。终端系统在执行目标状态修改指令时,可以通过开启一个线程以执行相应指令对应的操作,比如,执行对列表的添加或删除操作。

206、如果应用不具有对终端系统的root权限,则应用客户端不响应状态修改操作,并显示提示消息,该提示消息用于提示应用不具有对终端系统的root权限。

当检测到应用不具有对终端系统的root权限时,确定无法执行对指定应用的状态修改操作,不响应该状态修改操作。同时,应用可以生成提示消息,并显示该提示消息,以提示用户应用不具有对终端系统的root权限。该提示消息的形式包括但不限于弹窗提示,本发明实施例对此不作限定。该提示消息的内容可以为例如“当前应用不具有root权限,请先获取root权限”的内容。

进一步地,在检测到应用不具有对终端系统的root权限时,为了更便捷地使应用获取到对终端系统的root权限,应用还可在显示提示信息的基础上,向用户提供获取root权限的工具下载链接。比如,该工具下载链接可以携带在提示消息中,该提示消息的内容可以为“当前应用不具有root权限,点击链接***下载获取root权限的工具”,当检测到用户对工具链接的点击操作时,下载该获取root权限的工具。当然,该工具下载链接可以不显示在提示信息中,而是向用户显示是否下载的按钮,此时,提示信息的内容可以为“当前应用不具有root权限,是否下载工具以获取root权限”,当检测到用户的下载确认操作时,读取存储的工具下载链接以下载获取root权限的工具。

本发明实施例提供的方法,针对应用的功能,预先获取到了用于存储该功能的至少一个终端系统标识以及对应的状态修改指令的预设指令列表,因此,可以在需要进行功能状态修改时,通过触发状态修改操作,使得能够从预设指令列表中获取与当前终端系统匹配的状态修改指令,并由终端系统执行该状态修改指令,达到修改功能状态的目的,简化了操作过程,缩短了操作路径。

同时,上述方法使得在不同的终端系统中均能通过统一的方式进行功能状态修改,大大提高了功能状态修改方式的统一性,大大降低了功能状态修改的学习成本。

图3是本发明实施例提供的一种应用的功能状态修改装置的框图。参照图3,该装置包括第一获取模块301、第二获取模块302和发送模块303。

其中,第一获取模块301与第二获取模块302连接,用于当检测到对应用的指定功能的状态修改操作时,获取终端系统标识;第二获取模块302与发送模块303连接,用于根据终端系统标识,从预设指令列表中获取目标状态修改指令,目标状态修改指令用于指示终端系统将指定功能设置为状态修改操作对应的状态,预设指令列表至少用于存储至少一个终端系统标识和状态修改指令的对应关系;发送模块303,用于向终端系统发送目标状态修改指令,使得终端系统响应于目标状态修改指令,将指定功能设置为状态修改操作对应的状态。

在一种可能的实现方式中,目标状态修改指令包含应用的应用标识、指定功能的功能标识以及目标状态值,目标状态修改指令用于指示终端系统将应用的指定功能的功能标识对应的状态值修改为目标状态值。

在一种可能的实现方式中,目标状态修改指令包含第一指令和第二指令,第一指令包含应用的应用标识、指定功能的启用列表标识和第一操作标识,第二指令包含应用的应用标识、指定功能的禁用列表标识和第二操作标识,

当状态修改操作为启用操作时,第一操作标识为添加操作标识,第二操作标识为删除操作标识,第一指令用于指示终端系统在指定功能的启用列表中添加应用标识,第二指令用于指示终端系统在指定功能的禁用列表中删除应用标识;或,

当状态修改操作为禁用操作时,第一操作标识为删除操作标识,第二操作标识为添加操作标识,第一指令用于指示终端系统在指定功能的启用列表中删除应用标识,第二指令用于指示终端系统在指定功能的禁用列表中添加应用标识。

在一种可能的实现方式中,预设指令列表携带在应用的安装包中。

在一种可能的实现方式中,该装置还包括:

检测模块,用于判断应用是否具有对终端系统的root权限;

执行模块,用于如果具有,则执行获取终端系统标识的步骤;

执行模块还用于如果不具有,则不响应状态修改操作,并显示提示消息,提示消息用于提示应用不具有对终端系统的root权限。

本公开实施例提供的装置,针对应用的功能,预先获取到了用于存储该功能的至少一个终端系统标识以及对应的状态修改指令的预设指令列表,因此,可以在需要进行功能状态修改时,通过触发状态修改操作,使得能够从预设指令列表中获取与当前终端系统匹配的状态修改指令,并由终端系统执行该状态修改指令,达到修改功能状态的目的,简化了操作过程,缩短了操作路径。

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

本发明实施例还提供了一种终端,包括:终端系统和上述任一实施例所示的应用的功能状态修改装置。

图4是本发明实施例提供的一种终端的结构示意图,该终端可以用于执行上述各个实施例中提供的应用的功能状态修改方法。参见图4,该终端400包括:

终端400可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

终端400还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端400移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与终端400之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端400的通信。

WiFi属于短距离无线传输技术,终端400通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块170,但是可以理解的是,其并不属于终端400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是终端400的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端400的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

终端400还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端400还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含可执行指令,终端400被配置为执行指令,以执行上述应用的功能状态修改方法实施例中终端所执行的方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1