应用启动控制方法及装置与流程

文档序号:11864479阅读:219来源:国知局
应用启动控制方法及装置与流程

本发明涉及计算机技术领域,具体而言,涉及一种应用启动控制方法及应用启动控制装置。



背景技术:

随着技术的不断发展,用户的需求也不断提高。为了满足用户需求的多样性,出现了很多方便用户使用的应用,例如各种即时通讯、阅读、娱乐、游戏等应用。

目前,存在跨应用启动的情况,即已运行的某应用调用其他应用而启动该其他应用。例如,某购物应用在运行及使用过程中,该购物应用的相关应用(如即时通讯应用、支付应用等)会被该购物应用调用而启动;又如,某广告应用在运行及使用过程中,该广告应用的相关应用(如其他广告功能应用等)会被该广告应用调用而启动。跨应用启动的应用很多为非用户意愿启动,且有些为不受控制的肆意启动,这会导致系统资源过度消耗及出现卡顿等问题。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种应用启动控制方法及应用启动控制装置,以避免跨应用启动的应用不受控制的肆意启动,减少非用户意愿启动而导致系统资源过度消耗及出现卡顿等问题,给用户提供更好的使用体验。

为解决上述技术问题,本发明采用的第一技术方案是:一种应用启动控制方法,该方法包括:

侦测第一应用被其他应用调用的调用事件;

确定该调用事件对应的启动方式;

根据该启动方式获取对应的预设启动规则,确定是否启动该第一应用。

进一步,所述应用启动控制方法还包括步骤:

当该启动方式为Activity或Content Provider组件启动时,根据该预设启动规则启动该第一应用。

进一步,所述应用启动控制方法还包括步骤:

当该启动方式为Service组件启动时,根据该预设启动规则获取该第一应用的配置信息,确定是否启动该第一应用。

进一步,所述应用启动控制方法还包括步骤:

当根据该第一应用的配置信息确定该第一应用属于白名单时,启动该第一应用。

进一步,所述应用启动控制方法还包括步骤:

当根据该第一应用的配置信息确定该第一应用属于黑名单及该第一应用由该其他应用连续尝试启动至少两次时,允许该第一应用启动,并判断预设时间内当前界面是否切换到该第一应用的界面;

如果该预设时间内当前界面没有切换到该第一应用的界面,关闭该第一应用。

进一步,所述应用启动控制方法还包括步骤:

当该启动方式为Broadcast Receiver组件启动时,

如果根据该第一应用的配置信息确定该第一应用属于白名单,根据该预设启动规则启动该第一应用;

如果根据该第一应用的配置信息确定该第一应用属于黑名单,根据该预设启动规则禁止启动该第一应用。

本发明采用的第二技术方案是:一种应用启动控制装置,该装置包括:

侦测模块,用于侦测第一应用被其他应用调用的调用事件;

确定模块,用于确定该调用事件对应的启动方式;

启动模块,用于根据该启动方式获取对应的预设启动规则,确定是否启动该第一应用。

进一步,该启动模块还用于当该启动方式为Activity或Content Provider组件启动时,根据该预设启动规则启动该第一应用。

进一步,该启动模块还用于当该启动方式为Service组件启动时,根据该预设启动规则获取该第一应用的配置信息,确定是否启动该第一应用。

进一步,该启动模块还用于当根据该第一应用的配置信息确定该第一应用属于白名单时,启动该第一应用。

进一步,所述应用启动控制装置还包括判断模块,该启动模块还用于当根据该第一应用的配置信息确定该第一应用属于黑名单及该第一应用由该其他应用连续尝试启动至少两次时,允许该第一应用启动;该判断模块用于判断预设时间内当前界面是否切换到该第一应用的界面;

如果该预设时间内当前界面没有切换到该第一应用的界面,该启动模块还用于关闭该第一应用。

进一步,该启动模块还用于当该启动方式为Broadcast Receiver组件启动时,

如果该根据应用的配置信息确定该第一应用属于白名单,根据该预设启动规则启动该第一应用;

如果该根据应用的配置信息确定该第一应用属于黑名单,根据该预设启动规则禁止启动该第一应用。

本公开的实施例提供的技术方案可以包括如下有益效果:

一应用被其他应用启动时,通过不同的启动方式获取不同的启动规则,来确定是否启动该应用,以避免跨应用启动的应用不受控制的肆意启动,减少非用户意愿启动而导致系统资源过度消耗及出现卡顿等问题,给用户提供更好的使用体验。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明一种应用启动控制方法的第一实施方式的流程示意图;

图2是本发明一种应用启动控制方法的第二实施方式的流程示意图;

图3是本发明一种应用启动控制装置的第一实施方式的模块结构示意图;

图4是本发明一种应用启动控制装置的第二实施方式的模块结构示意图。

主要元件符号说明:

300、400-应用启动控制装置;320、420-侦测模块;330、430-确定模块;340、440-启动模块;450-判断模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在应用启动控制方法及应用启动控制装置的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

下面结合附图,对本发明的具体实施方式作详细说明。

实施例1

图1是本发明一种应用启动控制方法的第一实施方式的流程示意图。该实施方式示出的方法流程包括如下步骤:

在步骤S13中,侦测第一应用被其他应用调用的调用事件。

在步骤S14中,确定该调用事件对应的启动方式。

在步骤S15中,根据该启动方式获取对应的预设启动规则,确定是否启动该第一应用。

该方法发生在一应用被其他应用启动时,即其他应用在执行过程中调用该应用,试图使得该应用启动,下面以Android系统为例来描述。Android系统中,应用程序组件是Android应用程序的基本构建单元。每个组件是系统进入一个应用程序的不同入口点。有四种不同类型的应用程序组件:Activity、Service、Broadcast Receiver和Content Provider。

Activity是以界面的方式呈现,即Activity通常是一个单独的屏幕,每一个Activity都必须要在Androidmanifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。Service是后台运行的服务启动,即Service通常位于后台运行,一般不需要与用户交互,通常用于为其他组件提供后台服务或监控其他组件的运行状态。Broadcast Receiver是接收到注册的相应广播才运行,即Broadcast Receiver使用它对外部事件进行过滤,只对感兴趣的外部事件进行接收并做出响应。Content Provider主要是内容提供者,可以为本应用提供,也可以给其它应用提供,即Content provider实现数据共享,使一个应用程序的指定数据集提供给其他应用程序,其他应用可以从该内容提供者中获取或存入数据,只有需要在多个应用程序间共享数据才需要内容提供者,这是不同应用程序间共享数据的唯一方式。

Android系统中,一个应用程序的启动,可表现为Activity、Service、Broadcast Receiver或Content Provider的启动,可根据不同的启动规则,来确定是否启动应用。例如,当一应用为Activity组件启动方式时,根据第一启动规则确定是否启动该应用;当一应用为Service组件启动方式时,根据第二启动规则确定是否启动该应用;当一应用为Broadcast Receiver组件启动方式时,根据第三启动规则确定是否启动该应用;当一应用为Content Provider组件启动方式时,根据第四启动规则确定是否启动该应用,以避免跨应用启动的应用不受控制的肆意启动,减少非用户意愿启动而导致系统资源过度消耗及出现卡顿等问题,给用户提供更好的使用体验。

具体为:当该启动方式为Activity或Content Provider组件启动时,根据该预设启动规则启动该第一应用,即完成实现跨应用启动。该启动方式为Service组件启动的情况在图2中有详细描述。当该启动方式为Broadcast Receiver组件启动时,如果根据该第一应用的配置信息确定该第一应用属于白名单,根据该预设启动规则启动该第一应用;如果根据该第一应用的配置信息确定该第一应用属于黑名单,根据该预设启动规则禁止启动该第一应用。

进一步,当该第一应用为针对输入法、widget、辅助服务等时,实时放行该调用事件而启动该第一应用。

可以理解,上述跨应用启动不仅适用于Android系统,也适用于其他操作系统,如iOS系统。凡是在跨应用启动一应用时,通过不同的启动方式获取不同的启动规则,来确定是否启动该应用的技术方案都属于本发明的构思,属于本发明的保护范围。

实施例2

图2是本发明第二实施方式的一种应用启动控制方法的流程示意图。该应用启动控制方法包括:

在步骤S22中,侦测第一应用被其他应用调用的调用事件。

在步骤S23中,确定该调用事件对应的启动方式为Service组件启动。

在步骤S24中,获取该第一应用的配置信息。

具体实施例中,各应用的配置信息可预先设置。进一步,可对各个应用属性进行分类,同一属性的应用设置相同的配置信息。其中,配置信息包括黑白名单信息。黑白名单规则为现有技术,在此不赘述。

在步骤S25中,根据该第一应用的配置信息判断该第一应用是否属于黑名单。

在步骤S26中,当根据该第一应用的配置信息确定该第一应用属于白名单或该第一应用不属于黑白名单(即无黑白名单信息)时,启动该第一应用。

在步骤S27中,当根据该第一应用的配置信息确定该第一应用属于黑名单及该第一应用由该其他应用连续尝试启动至少两次时,允许该第一应用启动。例如,该第一应用被当前运行的应用调用了一次时,没有调用成功该第一应用,再次调用该第一应用,或由于太多应用在运行中,可能调用两次该第一应用都没有调用成功,而进行多于两次的调用。

在步骤S28中,判断预设时间内当前界面是否切换到该第一应用的界面。例如,该预设时间为30秒。

如果该预设时间内当前界面切换到该第一应用的界面,说明用户会感知到该第一应用的启动,不属于第一应用偷偷在后台运行而用户无法感知到的情况,则允许该被启动的第一应用继续运行。

在步骤S29中,如果该预设时间内当前界面没有切换到该第一应用的界面,说明被其他应用启动的该第一应用仅仅在后台运行而不让用户感知到,则关闭该第一应用,即杀死不该启动的该第一应用。

综述,在一应用被其他应用启动时,通过Service组件启动方式,根据该应用的配置信息来确定是否启动该应用,以避免跨应用启动的应用不受控制的肆意启动,减少非用户意愿启动而导致系统资源过度消耗及出现卡顿等问题,给用户提供更好的使用体验。

实施例3

图3是本发明一种应用启动控制装置的第一实施方式的模块结构示意图。如图3所示,该应用启动控制装置300包括侦测模块320、确定模块330和启动模块340。

侦测模块320用于侦测第一应用被其他应用调用的调用事件。

确定模块330用于确定该调用事件对应的启动方式。

启动模块340用于根据该启动方式获取对应的预设启动规则,确定是否启动该第一应用。

当该启动方式为Activity或Content Provider组件启动时,启动模块340还用于根据该预设启动规则启动该第一应用。

当该启动方式为Broadcast Receiver组件启动时,如果根据该第一应用的配置信息确定该第一应用属于白名单,启动模块340还用于根据该预设启动规则启动该第一应用;如果根据该第一应用的配置信息确定该第一应用属于黑名单,启动模块340还用于根据该预设启动规则禁止启动该第一应用。

该应用启动控制装置300在一应用被其他应用启动时,通过不同的启动方式获取不同的启动规则,来确定是否启动该应用,以避免跨应用启动的应用不受控制的肆意启动,减少非用户意愿启动而导致系统资源过度消耗及出现卡顿等问题,给用户提供更好的使用体验。

实施例4

图4是本发明一种应用启动控制装置的第二实施方式的模块结构示意图如图4所示,该应用启动控制装置400包括侦测模块420、确定模块430、启动模块440和判断模块450。

侦测模块420用于侦测第一应用被其他应用调用的调用事件。

确定模块430用于确定该调用事件对应的启动方式为Service组件启动。

启动模块440用于获取该第一应用的配置信息。

判断模块450用于根据该第一应用的配置信息判断该第一应用是否属于黑名单。

当根据该第一应用的配置信息确定该第一应用属于白名单或该第一应用不属于黑白名单时,启动模块440还用于启动该第一应用。

当根据该第一应用的配置信息确定该第一应用属于黑名单及该第一应用由该其他应用连续尝试启动至少两次时,启动模块440还用于允许该第一应用启动。

判断模块450还用于判断预设时间内当前界面是否切换到该第一应用的界面。

如果该预设时间内当前界面切换到该第一应用的界面,说明用户会感知到该第一应用的启动,不属于第一应用偷偷在后台运行而用户无法感知到的情况,则允许该被启动的第一应用继续运行。

如果该预设时间内当前界面没有切换到该第一应用的界面,说明被其他应用启动的该第一应用仅仅在后台运行而不让用户感知到,启动模块440还用于关闭该第一应用。

该应用启动控制装置400在一应用被其他应用启动时,通过Service组件启动方式,根据该应用的配置信息来确定是否启动该应用,以避免跨应用启动的应用不受控制的肆意启动,减少非用户意愿启动而导致系统资源过度消耗及出现卡顿等问题,给用户提供更好的使用体验。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述方法实施例中相应内容。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法、系统和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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