控制应用自启动的方法及装置转让专利

申请号 : CN201680001198.2

文献号 : CN106537288B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 伍亮雄刘海涛刘鸣

申请人 : 北京小米移动软件有限公司

摘要 :

本公开是关于一种控制应用自启动的方法及装置,属于计算机技术领域。所述方法包括:获取触发启动目标服务的触发操作;在获取到所述触发操作之后,检测注册所述目标服务的目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限;若所述目标应用不具备所述自启动权限,则禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。本公开由于为应用设置自启动权限,仅允许具备自启动权限的应用通过服务实现自启动,避免未经允许的应用通过服务实现自启动,达到了节省系统内存及节省耗电量的技术效果。

权利要求 :

1.一种控制应用自启动的方法,其特征在于,所述方法包括:获取触发启动目标服务的触发操作;

在获取到所述触发操作之后,检测注册所述目标服务的目标应用的进程中所述目标服务所属的进程是否已启动;

若所述目标服务所属的进程未启动,检测所述目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限;

若所述目标应用不具备所述自启动权限,则禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。

2.根据权利要求1所述的方法,其特征在于,所述检测注册所述目标服务的目标应用是否具备自启动权限,包括:调用权限检测方法,向所述权限检测方法发送权限检测请求;其中,所述权限检测请求中携带所述目标应用的标识,所述权限检测方法用于获取所述目标应用是否具备所述自启动权限;

获取所述权限检测方法返回的权限检测结果;其中,所述权限检测结果为:所述目标应用具备所述自启动权限,或者,所述目标应用不具备所述自启动权限。

3.根据权利要求1所述的方法,其特征在于,所述检测所述目标应用的进程中所述目标服务所属的进程是否已启动,包括:调用进程检测方法,向所述进程检测方法发送进程检测请求;其中,所述进程检测请求中携带所述目标服务所属的进程的标识,所述进程检测方法用于获取所述目标服务所属的进程是否已启动;

获取所述进程检测方法返回的进程检测结果;其中,所述进程检测结果为:所述目标服务所属的进程已启动,或者,所述目标服务所属的进程未启动。

4.根据权利要求1至3任一项所述的方法,其特征在于,所述获取触发启动目标服务的触发操作,包括:获取触发启动拼写检查服务的触发操作;

其中,所述拼写检查服务是具有拼写检查功能的系统服务。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:接收云端服务器发送的所述目标应用的所述自启动权限的推荐开关设置,所述推荐开关设置由所述云端服务器根据为所述目标应用开启所述自启动权限的用户数量和为所述目标应用关闭所述自启动权限的用户数量确定;

根据所述推荐开关设置为所述目标应用开启或关闭所述自启动权限。

6.一种控制应用自启动的装置,其特征在于,所述装置包括:获取模块,被配置为获取触发启动目标服务的触发操作;

第二检测模块,被配置为在获取到所述触发操作之后,检测注册所述目标服务的目标应用的进程中所述目标服务所属的进程是否已启动;

第一检测模块,被配置为当所述目标服务所属的进程未启动时,检测所述目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限;

禁止模块,被配置为当所述目标应用不具备所述自启动权限时,禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。

7.根据权利要求6所述的装置,其特征在于,所述第一检测模块,包括:第一发送子模块,被配置为调用权限检测方法,向所述权限检测方法发送权限检测请求;其中,所述权限检测请求中携带所述目标应用的标识,所述权限检测方法用于获取所述目标应用是否具备所述自启动权限;

第一获取子模块,被配置为获取所述权限检测方法返回的权限检测结果;其中,所述权限检测结果为:所述目标应用具备所述自启动权限,或者,所述目标应用不具备所述自启动权限。

8.根据权利要求6所述的装置,其特征在于,所述第二检测模块,包括:第二发送子模块,被配置为调用进程检测方法,向所述进程检测方法发送进程检测请求;其中,所述进程检测请求中携带所述目标服务所属的进程的标识,所述进程检测方法用于获取所述目标服务所属的进程是否已启动;

第二获取子模块,被配置为获取所述进程检测方法返回的进程检测结果;其中,所述进程检测结果为:所述目标服务所属的进程已启动,或者,所述目标服务所属的进程未启动。

9.根据权利要求6至8任一项所述的装置,其特征在于,所述获取模块,被配置为获取触发启动拼写检查服务的触发操作;

其中,所述拼写检查服务是具有拼写检查功能的系统服务。

10.根据权利要求6至9任一项所述的装置,其特征在于,所述装置还包括:接收模块,被配置为接收云端服务器发送的所述目标应用的所述自启动权限的推荐开关设置,所述推荐开关设置由所述云端服务器根据为所述目标应用开启所述自启动权限的用户数量和为所述目标应用关闭所述自启动权限的用户数量确定;

开关模块,被配置为根据所述推荐开关设置为所述目标应用开启或关闭所述自启动权限。

11.一种控制应用自启动的装置,其特征在于,所述装置包括:处理器;

用于存储所述处理器的可执行指令的存储器;

其中,所述处理器被配置为:

获取触发启动目标服务的触发操作;

在获取到所述触发操作之后,检测注册所述目标服务的目标应用的进程中所述目标服务所属的进程是否已启动;

若所述目标服务所属的进程未启动,检测所述目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限;

当所述目标应用不具备所述自启动权限时,禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。

说明书 :

控制应用自启动的方法及装置

技术领域

[0001] 本公开涉及计算机技术领域,特别涉及一种控制应用自启动的方法及装置。

背景技术

[0002] 目前,诸如手机、平板电脑之类的终端设备中可安装各类应用(application,APP),以扩充终端设备的功能。

发明内容

[0003] 本公开实施例提供了一种控制应用自启动的方法及装置。所述技术方案如下:
[0004] 根据本公开实施例的第一方面,提供了一种控制应用自启动的方法,所述方法包括:
[0005] 获取触发启动目标服务的触发操作;
[0006] 在获取到所述触发操作之后,检测注册所述目标服务的目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限;
[0007] 若所述目标应用不具备所述自启动权限,则禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。
[0008] 可选地,所述检测注册所述目标服务的目标应用是否具备自启动权限,包括:
[0009] 调用权限检测方法,向所述权限检测方法发送权限检测请求;其中,所述权限检测请求中携带所述目标应用的标识,所述权限检测方法用于获取所述目标应用是否具备所述自启动权限;
[0010] 获取所述权限检测方法返回的权限检测结果;其中,所述权限检测结果为:所述目标应用具备所述自启动权限,或者,所述目标应用不具备所述自启动权限。
[0011] 可选地,所述方法还包括:
[0012] 在获取到所述触发操作之后,检测所述目标应用的进程中所述目标服务所属的进程是否已启动;
[0013] 若所述目标服务所属的进程未启动,则从所述检测注册所述目标服务的目标应用是否具备自启动权限的步骤开始执行。
[0014] 可选地,所述检测所述目标应用的进程中所述目标服务所属的进程是否已启动,包括:
[0015] 调用进程检测方法,向所述进程检测方法发送进程检测请求;其中,所述进程检测请求中携带所述目标服务所属的进程的标识,所述进程检测方法用于获取所述目标服务所属的进程是否已启动;
[0016] 获取所述进程检测方法返回的进程检测结果;其中,所述进程检测结果为:所述目标服务所属的进程已启动,或者,所述目标服务所属的进程未启动。
[0017] 可选地,所述获取触发启动目标服务的触发操作,包括:
[0018] 获取触发启动拼写检查服务的触发操作;
[0019] 其中,所述拼写检查服务是具有拼写检查功能的系统服务。
[0020] 可选地,所述方法还包括:
[0021] 接收云端服务器发送的所述目标应用的所述自启动权限的推荐开关设置,所述推荐开关设置由所述云端服务器根据为所述目标应用开启所述自启动权限的用户数量和为所述目标应用关闭所述自启动权限的用户数量确定;
[0022] 根据所述推荐开关设置为所述目标应用开启或关闭所述自启动权限。
[0023] 根据本公开实施例的第二方面,提供了一种控制应用自启动的装置,所述装置包括:
[0024] 获取模块,被配置为获取触发启动目标服务的触发操作;
[0025] 第一检测模块,被配置为在获取到所述触发操作之后,检测注册所述目标服务的目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限;
[0026] 禁止模块,被配置为若所述目标应用不具备所述自启动权限,则禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。
[0027] 可选地,所述第一检测模块,包括:
[0028] 第一发送子模块,被配置为调用权限检测方法,向所述权限检测方法发送权限检测请求;其中,所述权限检测请求中携带所述目标应用的标识,所述权限检测方法用于获取所述目标应用是否具备所述自启动权限;
[0029] 第一获取子模块,被配置为获取所述权限检测方法返回的权限检测结果;其中,所述权限检测结果为:所述目标应用具备所述自启动权限,或者,所述目标应用不具备所述自启动权限。
[0030] 可选地,所述装置还包括:
[0031] 第二检测模块,被配置为在获取到所述触发操作之后,检测所述目标应用的进程中所述目标服务所属的进程是否已启动;
[0032] 所述第一检测模块,还被配置为当所述目标服务所属的进程未启动时,从所述检测注册所述目标服务的目标应用是否具备自启动权限的步骤开始执行。
[0033] 可选地,所述第二检测模块,包括:
[0034] 第二发送子模块,被配置为调用进程检测方法,向所述进程检测方法发送进程检测请求;其中,所述进程检测请求中携带所述目标服务所属的进程的标识,所述进程检测方法用于获取所述目标服务所属的进程是否已启动;
[0035] 第二获取子模块,被配置为获取所述进程检测方法返回的进程检测结果;其中,所述进程检测结果为:所述目标服务所属的进程已启动,或者,所述目标服务所属的进程未启动。
[0036] 可选地,所述获取模块,被配置为获取触发启动拼写检查服务的触发操作;
[0037] 其中,所述拼写检查服务是具有拼写检查功能的系统服务。
[0038] 可选地,所述装置还包括:
[0039] 接收模块,被配置为接收云端服务器发送的所述目标应用的所述自启动权限的推荐开关设置,所述推荐开关设置由所述云端服务器根据为所述目标应用开启所述自启动权限的用户数量和为所述目标应用关闭所述自启动权限的用户数量确定;
[0040] 开关模块,被配置为根据所述推荐开关设置为所述目标应用开启或关闭所述自启动权限。
[0041] 根据本公开实施例的第三方面,提供了一种控制应用自启动的装置,所述装置包括:
[0042] 处理器;
[0043] 用于存储所述处理器的可执行指令的存储器;
[0044] 其中,所述处理器被配置为:
[0045] 获取触发启动目标服务的触发操作;
[0046] 在获取到所述触发操作之后,检测注册所述目标服务的目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限;
[0047] 当所述目标应用不具备所述自启动权限时,禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。
[0048] 本公开实施例提供的技术方案可以包括以下有益效果:
[0049] 通过在获取到触发启动目标服务的触发操作之后,检测注册目标服务的目标应用是否具备自启动权限,在检测结果为目标应用不具备自启动权限时,禁止目标应用采用绑定服务方式在启动目标服务的过程中自启动;解决了相关技术中由于应用可通过服务(如拼写检查服务)实现自启动,导致占用系统内存及增加耗电量的问题;由于为应用设置自启动权限,仅允许具备自启动权限的应用通过服务实现自启动,避免未经允许的应用通过服务实现自启动,达到了节省系统内存及节省耗电量的技术效果。
[0050] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0051] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0052] 图1是根据一示例性实施例示出的一种控制应用自启动的方法的流程图;
[0053] 图2是根据另一示例性实施例示出的一种控制应用自启动的方法的流程图;
[0054] 图3是根据一示例性实施例示出的一种控制应用自启动的装置的框图;
[0055] 图4是根据另一示例性实施例示出的一种控制应用自启动的装置的框图;
[0056] 图5是根据一示例性实施例示出的一种装置的框图。

具体实施方式

[0057] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0058] 发明人在对控制应用自启动方面进行研究的过程中发现,应用可通过拼写检查服务实现自启动,也即应用通过拼写检查服务实现自动启动运行。拼写检查服务是具有拼写检查功能的系统服务。应用注册拼写检查服务之后,应用可通过绑定服务(bind service)方式在终端设备启动拼写检查服务的过程中自启动。由于应用可通过服务(如拼写检查服务)实现自启动,导致占用系统内存及增加耗电量。其中,服务即为service,服务在终端设备的后台运行,主要用于处理某些耗时的逻辑或者执行需要长期运行的任务。基于此,本公开实施例提供了一种控制应用自启动的方法,和基于这个方法的装置,以解决上述相关技术中存在的问题。本公开实施例提供的技术方案,核心思想是为应用设置自启动权限,实现对应用的自启动进行控制。其中,自启动权限是指自动启动运行的权限。通过对终端设备中安装的各个应用是否具备自启动权限进行管理,仅允许具备自启动权限的应用通过服务实现自启动,避免未经允许的应用通过服务实现自启动。
[0059] 本公开实施例提供的方法,各步骤的执行主体可以是终端设备,如手机、平板电脑、电子书阅读器、多媒体播放设备、PDA(Personal Digital Assistant,个人数字助理)、可穿戴设备等。在本公开实施例中,对终端设备的操作系统的类型不作限定,如Android(安卓)操作系统、iOS操作系统、Windows Phone操作系统等。
[0060] 图1是根据一示例性实施例示出的一种控制应用自启动的方法的流程图。该方法可以包括如下几个步骤:
[0061] 在步骤101中,获取触发启动目标服务的触发操作。
[0062] 终端设备获取触发启动目标服务的触发操作。该触发操作通常是由用户执行的操作,该触发操作能够触发操作系统启动目标服务。
[0063] 其中,目标服务是应用注册该目标服务之后,应用通过绑定服务方式在启动目标服务的过程中能够实现自启动的服务。可选地,目标服务为系统服务,系统服务主要用于执行指定的系统功能。在一个示例中,目标服务为拼写检查服务。拼写检查服务也称为拼写检查工具,是具有拼写检查功能的系统服务。拼写检查功能是指检查在输入框中输入字词时的拼写错误的功能。例如,通过获取输入框内当前输入的字词,将其与内置词典中的字词进行比对,如果内置词典中没有当前输入的字词,则该当前输入的字词将被视为存在拼写错误的字词。应用注册拼写检查服务之后,能够通过绑定服务方式在系统启动拼写检查服务的过程中实现自启动。在一个示例中,终端设备获取触发启动拼写检查服务的触发操作。例如,该触发操作为用户在输入框中输入字词的操作。
[0064] 另外,应用可通过在其信息描述文件中申明注册目标服务。信息描述文件是应用的基础配置文件。以Android应用为例,信息描述文件为AndroidManifest.xml文件。在信息描述文件中,开发者可以说明应用的基础信息,比如应用入口页面、应用所需要的权限信息、应用的版本信息等。示例性地,应用可通过在其信息描述文件中申明注册拼写检查服务。
[0065] 在步骤102中,在获取到触发操作之后,检测注册目标服务的目标应用是否具备自启动权限。
[0066] 终端设备在获取到触发操作之后,检测注册目标服务的目标应用是否具备自启动权限。其中,自启动权限是指自动启动运行的权限。在本公开实施例中,通过添加自启动权限,使得系统能够对应用通过服务实现自启动进行控制。示例性地,自启动权限的名称为OP_AutoStart。可选地,为自启动权限设置对应的标识(也称为值),用于唯一标识该权限,不同的权限所对应的标识也不同。
[0067] 另外,若终端设备中仅存在一个应用注册目标服务,则目标应用即为该应用,终端设备检测该应用是否具备自启动权限。若终端设备中存在多个应用注册目标服务,则目标应用为该多个应用中的一个默认应用,终端设备检测该默认应用是否具备自启动权限。默认应用可以由系统或用户自定义选定。
[0068] 可选地,本步骤包括如下几个子步骤:
[0069] 1,调用权限检测方法,向权限检测方法发送权限检测请求;
[0070] 其中,权限检测请求中携带目标应用的标识,应用的标识用于唯一标识一个应用。可选地,目标应用的标识包括目标应用的包名(packagename)。
[0071] 权限检测方法用于获取目标应用是否具备自启动权限。示例性地,假设权限检测方法为AutoStartManagerService.isAllowStartService方法,操作系统调用AutoStartManagerService.isAllowStartService方法,并向该方法发送携带有目标应用的标识的权限检测请求。
[0072] 2,获取权限检测方法返回的权限检测结果;
[0073] 其中,权限检测结果为:目标应用具备自启动权限,或者,目标应用不具备自启动权限。
[0074] 示例性地,AutoStartManagerService.isAllowStartService方法被调用之后,根据目标应用的标识,查询获取目标应用是否具备自启动权限。若目标应用具备自启动权限,则AutoStartManagerService.isAllowStartService方法向操作系统返回用于指示具备自启动权限的第一指示信息,例如第一指示信息为true;若目标应用不具备自启动权限,则AutoStartManagerService.isAllowStartService方法向操作系统返回用于指示不具备自启动权限的第二指示信息,例如第二指示信息为false。
[0075] 在一个示例中,以目标服务为拼写检查服务为例,在用于实现采用绑定服务方式实现自启动的代码中插入用于实现检测应用是否具备自启动权限的代码,该代码示例可以如下:
[0076]
[0077] 在步骤103中,若目标应用不具备自启动权限,则禁止目标应用采用绑定服务方式在启动目标服务的过程中自启动。
[0078] 若目标应用不具备自启动权限,则终端设备禁止目标应用采用绑定服务方式在启动目标服务的过程中自启动。绑定服务方式是常见的应用启动方式之一,应用通过绑定服务方式能够在其绑定的服务被调用启动的过程中启动运行。若目标应用不具备自启动权限,则终端设备在启动目标服务的过程中不执行绑定服务的流程,以使得目标应用无法启动运行。
[0079] 另外,若目标应用具备自启动权限,则终端设备允许目标应用采用绑定服务方式在启动目标服务的过程中自启动,也即终端设备在启动目标服务的过程中执行绑定服务的流程,以使得目标应用启动运行。
[0080] 综上所述,本实施例提供的方法,通过在获取到触发启动目标服务的触发操作之后,检测注册目标服务的目标应用是否具备自启动权限,在检测结果为目标应用不具备自启动权限时,禁止目标应用采用绑定服务方式在启动目标服务的过程中自启动;解决了相关技术中由于应用可通过服务(如拼写检查服务)实现自启动,导致占用系统内存及增加耗电量的问题;由于为应用设置自启动权限,仅允许具备自启动权限的应用通过服务实现自启动,避免未经允许的应用通过服务实现自启动,达到了节省系统内存及节省耗电量的技术效果。
[0081] 在基于图1所示实施例提供的另一可选实施例中,如图2所示,该控制应用自启动的方法可以包括如下几个步骤:
[0082] 在步骤201中,获取触发启动目标服务的触发操作。
[0083] 有关步骤201可参见上文针对步骤101的介绍和说明,本实施例对此不再赘述。
[0084] 在步骤202中,在获取到触发操作之后,检测目标应用的进程中目标服务所属的进程是否已启动。若是,则结束流程;若否,则执行下述步骤203。
[0085] 终端设备在获取到触发操作之后,检测目标应用的进程中目标服务所属的进程是否已启动。如果目标服务所属的进程未启动,则执行下述权限检测步骤;如果目标服务所属的进程已启动,则直接跳过下述权限检测步骤,执行绑定服务的流程。通过上述方式,能够避免执行不必要的权限检测步骤,节省系统处理开销。
[0086] 可选地,本步骤包括如下几个子步骤:
[0087] 1,调用进程检测方法,向进程检测方法发送进程检测请求;
[0088] 其中,进程检测请求中携带目标服务所属的进程的标识,如进程名(process name)。进程检测方法用于获取目标服务所属的进程是否已启动。
[0089] 示 例性 地 ,假设 进 程 检 测方 法 为 Ap i A ct i v i ty M an a g e r Se r v i c e .g e t Pr o c e ss R e c o rd L o c ke d 方 法 ,操作 系 统 调 用ApiActivityManagerService.getProcessRecordLocked方法,并向该方法发送携带目标服务所属的进程的标识的进程检测请求。
[0090] 2,获取进程检测方法返回的进程检测结果;
[0091] 其中,进程检测结果为:目标服务所属的进程已启动,或者,目标服务所属的进程未启动。
[0092] 示例性地,ApiActivityManagerService.getProcessRecordLocked方法被调用之后,根据目标服务所属的进程的标识,查询获取目标服务所属的进程是否已启动。若目标服务所属的进程已启动,则ApiActivityManagerService.getProcessRecordLocked方法向操作系统返回用于指示进程已启动的第三指示信息,例如第三指示信息不为null;若目标服务所属的进程未启动,则ApiActivityManagerService.getProcessRecordLocked方法向操作系统返回用于指示进程未启动的第四指示信息,例如第四指示信息为null。
[0093] 在步骤203中,检测注册目标服务的目标应用是否具备自启动权限。若是,则执行下述步骤204;若否,则执行下述步骤205。
[0094] 在步骤204中,允许目标应用采用绑定服务方式在启动目标服务的过程中自启动。
[0095] 在步骤205中,禁止目标应用采用绑定服务方式在启动目标服务的过程中自启动。
[0096] 有关步骤203-205可参见上文针对步骤102-103的介绍和说明,本实施例对此不再赘述。
[0097] 本实施例提供的方法,还通过在获取到触发启动目标服务的触发操作之后,检测目标应用的进程中目标服务所属的进程是否已启动,在检测结果为目标服务所属的进程未启动的情况下执行后续的权限检测步骤,而在检测结果为目标服务所属的进程已启动的情况下即可直接结束流程,不执行后续的权限检测步骤,避免执行不必要的权限检测步骤,节省系统处理开销。
[0098] 需要补充说明的是,应用是否具备自启动权限,可以由系统默认设置,也可由用户自定义设置。
[0099] 可选地,操作系统所对应的云端服务器中可分别统计为各个应用开启/关闭自启动权限的用户数量。对于某一应用来说,云端服务器统计为该应用开启自启动权限的用户数量和为该应用关闭自启动权限的用户数量,根据上述统计结果确定该应用的自启动权限的推荐开关设置。示例性地,以目标应用为例,云端服务器根据为目标应用开启自启动权限的用户数量和关闭自启动权限的用户数量的比例,确定目标应用的自启动权限的推荐开关设置。在终端设备安装目标应用之后,云端服务器可将目标应用的自启动权限的推荐开关设置发送给终端设备;相应地,终端设备接收云端服务器发送的目标应用的自启动权限的推荐开关设置。推荐开关设置是指推荐开启或关闭自启动权限。终端设备根据推荐开关设置为目标应用开启或关闭自启动权限。在一个示例中,终端设备根据该推荐开关设置自动设置为目标应用开启或关闭自启动权限。例如,若推荐开关设置为开启,则终端设备为目标应用开启自启动权限;若推荐开关设置为关闭,则终端设备为目标应用关闭自启动权限。在另一示例中,终端设备将该推荐开关设置进行显示,由用户结合该推荐开关设置和自身实际需求设置为目标应用开启或关闭自启动权限,终端设备获取用户设置的权限设置指示,根据用户设置的权限设置指示为目标应用开启或关闭自启动权限。另外,云端服务器可在终端设备安装目标应用之后,向终端设备发送目标应用的自启动权限的推荐开关设置;云端服务器也可每隔预定时间间隔向终端设备发送目标应用的自启动权限的推荐开关设置。
[0100] 在一个示例中,对于某一应用来说,若为该应用开启自启动权限的用户数量大于为该应用关闭自启动权限的用户数量,则云端服务器确定该应用的自启动权限的推荐开关设置为开启;若为该应用开启自启动权限的用户数量小于为该应用关闭自启动权限的用户数量,则云端服务器确定该应用的自启动权限的推荐开关设置为关闭。
[0101] 在另一示例中,对于某一应用来说,若为该应用开启自启动权限的用户数量占用户总数的比例大于第一阈值,则云端服务器确定该应用的自启动权限的推荐开关设置为开启;若为该应用开启自启动权限的用户数量占用户总数的比例小于第二阈值,则云端服务器确定该应用的自启动权限的推荐开关设置为关闭。其中,第一阈值等于第二阈值,或者,第一阈值大于第二阈值。用户总数是指为该应用开启自启动权限的用户数量与为该应用关闭自启动权限的用户数量的总和。
[0102] 下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
[0103] 图3是根据一示例性实施例示出的一种控制应用自启动的装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:获取模块301、第一检测模块302和禁止模块303。
[0104] 获取模块301,被配置为获取触发启动目标服务的触发操作。
[0105] 第一检测模块302,被配置为在获取到所述触发操作之后,检测注册所述目标服务的目标应用是否具备自启动权限;其中,所述自启动权限是指自动启动运行的权限。
[0106] 禁止模块303,被配置为当所述目标应用不具备所述自启动权限时,禁止所述目标应用采用绑定服务方式在启动所述目标服务的过程中自启动。
[0107] 综上所述,本实施例提供的装置,通过在获取到触发启动目标服务的触发操作之后,检测注册目标服务的目标应用是否具备自启动权限,在检测结果为目标应用不具备自启动权限时,禁止目标应用采用绑定服务方式在启动目标服务的过程中自启动;解决了相关技术中由于应用可通过服务(如拼写检查服务)实现自启动,导致占用系统内存及增加耗电量的问题;由于为应用设置自启动权限,仅允许具备自启动权限的应用通过服务实现自启动,避免未经允许的应用通过服务实现自启动,达到了节省系统内存及节省耗电量的技术效果。
[0108] 在基于图3所示实施例提供的一个可选实施例中,如图4所示,所述第一检测模块302,包括:第一发送子模块302a和第一获取子模块302b。
[0109] 第一发送子模块302a,被配置为调用权限检测方法,向所述权限检测方法发送权限检测请求;其中,所述权限检测请求中携带所述目标应用的标识,所述权限检测方法用于获取所述目标应用是否具备所述自启动权限。
[0110] 第一获取子模块302b,被配置为获取所述权限检测方法返回的权限检测结果;其中,所述权限检测结果为:所述目标应用具备所述自启动权限,或者,所述目标应用不具备所述自启动权限。
[0111] 在基于图3所示实施例提供的另一可选实施例中,如图4所示,所述装置还包括:第二检测模块304。
[0112] 第二检测模块304,被配置为在获取到所述触发操作之后,检测所述目标应用的进程中所述目标服务所属的进程是否已启动。
[0113] 所述第一检测模块302,还被配置为当所述目标服务所属的进程未启动时,检测注册所述目标服务的目标应用是否具备所述自启动权限。
[0114] 可选地,所述第二检测模块304,包括:第二发送子模块304a和第二获取子模块304b。
[0115] 第二发送子模块304a,被配置为调用进程检测方法,向所述进程检测方法发送进程检测请求;其中,所述进程检测请求中携带所述目标服务所属的进程的标识,所述进程检测方法用于获取所述目标服务所属的进程是否已启动。
[0116] 第二获取子模块304b,被配置为获取所述进程检测方法返回的进程检测结果;其中,所述进程检测结果为:所述目标服务所属的进程已启动,或者,所述目标服务所属的进程未启动。
[0117] 在基于图3所示实施例提供的另一可选实施例中,所述获取模块301,被配置为获取触发启动拼写检查服务的触发操作。其中,所述拼写检查服务是具有拼写检查功能的系统服务。
[0118] 在基于图3所示实施例提供的另一可选实施例中,所述装置还包括:接收模块和开关模块。
[0119] 接收模块,被配置为接收云端服务器发送的所述目标应用的所述自启动权限的推荐开关设置,所述推荐开关设置由所述云端服务器根据为所述目标应用开启所述自启动权限的用户数量和为所述目标应用关闭所述自启动权限的用户数量确定。
[0120] 开关模块,被配置为根据所述推荐开关设置为所述目标应用开启或关闭所述自启动权限。
[0121] 需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0122] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0123] 本公开一示例性实施例还提供了一种控制应用自启动的装置,能够实现本公开提供的方法。该装置包括:处理器,以及用于存储处理器的可执行指令的存储器。其中,处理器被配置为:
[0124] 获取触发启动目标服务的触发操作;
[0125] 在获取到触发操作之后,检测注册目标服务的目标应用是否具备自启动权限;其中,自启动权限是指自动启动运行的权限;
[0126] 当目标应用不具备自启动权限时,禁止目标应用采用绑定服务方式在启动目标服务的过程中自启动。
[0127] 可选地,该处理器被配置为:
[0128] 调用权限检测方法,向权限检测方法发送权限检测请求;其中,权限检测请求中携带目标应用的标识,权限检测方法用于获取目标应用是否具备自启动权限;
[0129] 获取权限检测方法返回的权限检测结果;其中,权限检测结果为:目标应用具备自启动权限,或者,目标应用不具备自启动权限。
[0130] 可选地,该处理器还被配置为:
[0131] 在获取到触发操作之后,检测目标应用的进程中目标服务所属的进程是否已启动;
[0132] 当目标服务所属的进程未启动时,从检测注册目标服务的目标应用是否具备自启动权限的步骤开始执行。
[0133] 可选地,该处理器被配置为:
[0134] 调用进程检测方法,向进程检测方法发送进程检测请求;其中,进程检测请求中携带目标服务所属的进程的标识,进程检测方法用于获取目标服务所属的进程是否已启动;
[0135] 获取进程检测方法返回的进程检测结果;其中,进程检测结果为:目标服务所属的进程已启动,或者,目标服务所属的进程未启动。
[0136] 可选地,该处理器被配置为:
[0137] 获取触发启动拼写检查服务的触发操作;
[0138] 其中,拼写检查服务是具有拼写检查功能的系统服务。
[0139] 可选地,该处理器还被配置为:
[0140] 接收云端服务器发送的目标应用的自启动权限的推荐开关设置,推荐开关设置由云端服务器根据为目标应用开启自启动权限的用户数量和为目标应用关闭自启动权限的用户数量确定;
[0141] 根据推荐开关设置为目标应用开启或关闭自启动权限。
[0142] 图5是根据一示例性实施例示出的一种装置500的框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0143] 参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器505,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)接口512,传感器组件514,以及通信组件516。
[0144] 处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
[0145] 存储器505被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器505可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0146] 电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
[0147] 多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0148] 音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器505或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
[0149] I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0150] 传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件515还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件515还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0151] 通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0152] 在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0153] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器505,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0154] 一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置500的处理器执行时,使得装置500能够执行上述方法。
[0155] 应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0156] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0157] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。