开机广播的发送控制方法和装置与流程

文档序号:12495795阅读:269来源:国知局
开机广播的发送控制方法和装置与流程

本发明涉及通信技术领域,尤其涉及一种开机广播的发送控制方法和装置。



背景技术:

对于移动终端,如果系统在开机完成后,都会发送一个开机广播,开机广播只是在移动终端开机完成后发送一次,移动终端所有的应用都可以非常方便的监听到此开机广播,然后根据开机广播执行各自的一些初始化操作,以让各个应用在移动系统一开机后就实现自己的功能,所以移动终端的开机广播是所有应用经常监听的一种广播。

但是,由于各种原因,经常会导致移动终端上的一些应用不能接受到移动终端开机完成后发送的开机广播。例如,1)一些应用安装在外置SD卡上,但是由于挂载外置SD卡的时间比较长,有时候会出现移动终端开机完成,系统发送完开机广播后,外置SD卡才完成挂载,从而导致此SD卡上安装的应用不能接收到开机广播;2)有的应用安装后从来没有启动过,在这种情况下也有可能导致该应用接受不到开机广播;3)系统为了加强移动终端安全性的考虑,有的应用在设置中把应用强制关闭后处于stopped状态,在这种情况下也是不能接受到系统的开机广播,但是如果此应用被启动后,是可以接受系统的开机广播;4)一些三方安全管理软件,比如:360安全管家,腾讯安全助手等等,会出于一些安全和开机速度方面的考虑,默认将一些应用的开机广播给屏蔽了,从而导致这些应用不能接受到系统的开机广播。未接收到开机广播可能会导致应用不能正常启动,特别严重的情况下,会影响用户移动终端的使用。



技术实现要素:

本发明提供一种开机广播的发送控制方法和装置,其主要目的在于有效的确保移动终端开启和使用的应用均可接收到开机广播。

为实现上述目的,本发明提供一种开机广播的发送控制方法,所述开机广播的发送控制方法包括:

在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播;

在所述应用未接收到开机广播时,控制所述移动终端向所述应用发送开机广播。

可选地,所述在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播的步骤之前,所述开机广播的发送控制方法还包括:

在检测到移动终端开机时,将所述移动终端中装载的预设应用的状态标记为未接收;

在移动终端发送开机广播后,接收所述移动终端中装载的预设应用反馈的响应信息;

将反馈所述响应信息的应用的状态由未接收更新为已接收;

所述确定所述应用在移动终端开机时是否接收到开机广播的步骤包括:

确定所述应用的状态是否为未接收,其中,在所述应用的状态为未接收时,确定所述应用未接收到所述开机广播。

可选地,所述对所述移动终端中装载的预设应用添加未接收标识的步骤包括:

获取所述移动终端中需要监听所述开机广播的应用;

将需要监听所述开机广播的应用的状态标记为未接收。

可选地,所述在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播的步骤之前,所述开机广播的发送控制方法还包括:

在检测到移动终端开机且发送开机广播后,接收所述移动终端中装载的应用反馈的响应信息;

将反馈所述响应信息的应用的状态标记为已接收;

所述确定所述应用在移动终端开机时是否接收到开机广播的步骤包括:

确定所述应用的状态是否标记为已接收,其中,在所述应用的状态不是已接收时,确定所述应用未接收到所述开机广播。

可选地,所述开机广播的发送控制方法还包括:

在检测到应用启动时,确定所述应用是否需要监听开机广播;

在所述应用需要监听开机广播时,执行确定所述应用在移动终端开机时是否接收到开机广播的步骤。

此外,为实现上述目的,本发明还提出一种开机广播的发送控制装置,所述开机广播的发送控制装置包括:

确定模块,用于在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播;

控制模块,用于在所述应用未接收到开机广播时,控制所述移动终端向所述应用发送开机广播。

可选地,所述开机广播的发送控制装置还包括:

第一标记模块,用于在检测到移动终端开机时,在检测到移动终端开机时,将所述移动终端中装载的预设应用的状态标记为未接收;

第一接收模块,用于在移动终端发送开机广播后,接收所述移动终端中装载的预设应用反馈的响应信息;

更新模块,用于将反馈所述响应信息的应用的状态由未接收更新为已接收;

所述确定模块,还用于确定所述应用的状态是否为未接收,其中,在所述应用的状态为未接收时,确定所述应用未接收到所述开机广播。

可选地,所述第一标记模块包括:

获取单元,用于获取所述移动终端中需要监听所述开机广播的应用;

标记单元,用于将需要监听所述开机广播的应用的状态标记为未接收。

可选地,所述开机广播的发送控制装置还包括:

第二接收模块,用于在检测到移动终端开机且发送开机广播后,接收所述移动终端中装载的应用反馈的响应信息;

第二标记模块,用于将反馈所述响应信息的应用的状态标记为已接收;

所述确定模块,还用于确定所述应用的状态是否标记为已接收,其中,在所述应用的状态不是已接收时,确定所述应用未接收到所述开机广播。

可选地,所述确定模块,还用于在检测到应用启动时,确定所述应用是否需要监听开机广播,以及在所述应用需要监听开机广播时,确定所述应用在移动终端开机时是否接收到开机广播。

本发明提出的开机广播的发送控制方法和装置,在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播,在所述应用未接收到开机广播时,控制所述移动终端向所述应用发送开机广播,以使在移动终端开机时未接收到开机广播的应用在启动时接收到开机广播,有效的确保移动终端开启和使用的应用均可接收到开机广播。

附图说明

图1为本发明开机广播的发送控制方法第一实施例的流程示意图;

图2为本发明开机广播的发送控制方法第二实施例的流程示意图;

图3为本发明开机广播的发送控制装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种开机广播的发送控制方法。

参照图1,图1为本发明开机广播的发送控制方法第一实施例的流程示意图。

本实施例提出一种开机广播的发送控制方法,该开机广播的发送控制方法包括:

步骤S10,在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播;

在本实施例中可通过监听系统中应用的开机指令来检测应用是否启动,也可通过监测应用进程来检测应用是否启动。需要监听开机广播的应用会在应用中添加广播接收器receiver,在本方案中可通过在开机时对未接收到开机广播的应用添加标识来实现对接收到开机广播以及未接收到开机广播的应用进行区分,具体方案如下:

A、步骤S10之前包括:

在检测到移动终端开机时,将所述移动终端中装载的预设应用的状态标记为未接收;

在移动终端发送开机广播后,接收所述移动终端中装载的预设应用反馈的响应信息;

将反馈所述响应信息的应用的状态由未接收更新为已接收;

所述确定所述应用在移动终端开机时是否接收到开机广播的步骤包括:

确定所述应用的状态是否为未接收,其中,在所述应用的状态为未接收时,确定所述应用未接收到所述开机广播。

可通过变量来实现为各个应用的未接收状态和已接收状态的标记,如设置变量broadcastView来标记各个应用的状态,在broadcastView为0时代表应用的状态为未接收,在broadcastView为1时代表应用的状态为已接收,则本方案为在开机时将各个预设应用的broadcastView均赋值为0,在接收到某个应用反馈的响应信息时,将反馈响应信息的应用的broadcastView的值更改为1,在确定所述应用的状态是否为未接收时,仅需要确定该应用的变量即broadcastView是否为0即可。或者,也可在开机时将预设的应用均存储与预设的数据表中,将该数据表的属性标记为未接收,在接收到某个应用反馈的响应信息时,将接收到响应信息的应用添加至属性为已接收的数据表中,在确定所述应用的状态是否为未接收时,仅需要确定该应用是否在属性为未接收的应用列表中即可。

可以理解的是,在移动终端开机且发送开机广播后可向未接收到开机广播的应用发送预设次数的开机广播,若发送预设次数的开机广播后有应用未反馈响应信息,可认为该应用无法接收到开机广播,不修改该应用的状态。

由于某些应用并未需要接收开机广播,则在状态标记时可仅标记需要监听开机广播的应用,效率更高,即步骤在检测到移动终端开机时,将所述移动终端中装载的预设应用的状态标记为未接收包括:

获取所述移动终端中需要监听所述开机广播的应用;

将需要监听所述开机广播的应用的状态标记为未接收。

移动终端可读取各个应用的AndroidManifest.xml文件信息,如果此文件定义了一个接受开机广播(android.intent.action.BOOT_COMPLETED)的接受器receiver,则将此应用判断为需要监听开机广播。可以理解时,可在每个应用安装成功时读取应用的AndroidManifest.xml文件信息,在文件信息中定义了receiver可将该应用的信息添加至监听开机广播的应用列表中,在开机时仅需要将该列表中的应用的状态标记为未接收即可。

B、步骤S10之前包括:

在检测到移动终端开机且发送开机广播后,接收所述移动终端中装载的应用反馈的响应信息;

将反馈所述响应信息的应用的状态标记为已接收;

所述确定所述应用在移动终端开机时是否接收到开机广播的步骤包括:

确定所述应用的状态是否标记为已接收,其中,在所述应用的状态不是已接收时,确定所述应用未接收到所述开机广播。

可在开机时将预设的应用均存储与预设的数据表中,在接收到某个应用反馈的响应信息时,将接收到响应信息的应用添加至属性为已接收的数据表中,在确定应用的状态是否标记为已接收时,可确定该应用是否在属性为已接收的数据表中,若该应用不在已接收到数据表中则认为该应用的标砖不是已接收。或者仅对接收到响应信息的应用添加标记,在确定应用的状态是否标记为已接收时,直接确定该应用是否添加标记即可。

可以理解的是,在移动终端开机且发送开机广播后可向未接收到开机广播的应用发送预设次数的开机广播,若发送预设次数的开机广播后有应用未反馈响应信息,可认为该应用无法接收到开机广播,不修改该应用的状态。

由于某些应用并未需要接收开机广播,则在状态标记时可仅标记需要监听开机广播的应用,效率更高,则在接收到响应信息时仅需要遍历需要监听开机广播的应用的存储表即可快速查找到该接收响应信息的应用。

移动终端可读取各个应用的AndroidManifest.xml文件信息,如果此文件定义了一个接受开机广播(android.intent.action.BOOT_COMPLETED)的接受器receiver,则将此应用判断为需要监听开机广播。可以理解是,可在每个应用安装成功时读取应用的AndroidManifest.xml文件信息,在文件信息中定义了receiver可将该应用的信息添加至监听开机广播的应用列表中。

步骤S20,在所述应用未接收到开机广播时,控制所述移动终端向所述应用发送开机广播。

在移动终端接收到开机广播时,移动终端可正常启动应用,即可不做任何处理。可以理解的是,在控制移动终端发送开机广播后,接收该应用基于接收到的开机广播反馈的响应信息,在预设时间间隔内未接收到响应信息时,可输出应用故障的提示信息;或者,在预设时间间隔内未接收到响应信息时,可继续向所述应用发送开机广播,并接收基于该开机广播反馈的响应信息,在发送开机广播的次数大于预设次数时,输出应用故障提示信息。

本实施例提出的开机广播的发送控制方法,在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播,在所述应用未接收到开机广播时,控制所述移动终端向所述应用发送开机广播,以使在移动终端开机时未接收到开机广播的应用在启动时接收到开机广播,有效的确保移动终端开启和使用的应用均可接收到开机广播。

进一步地,参照图2,基于第一实施例提出本发明开机广播的发送控制方法第二实施例,在本实施例中,所述开机广播的发送控制方法还包括:

步骤S30,在检测到应用启动时,确定所述应用是否需要监听开机广播;

在所述应用需要监听开机广播时,执行所述步骤S10,即确定所述应用在移动终端开机时是否接收到开机广播。

在本实施例中,可读取应用的AndroidManifest.xml文件信息,如果此文件定义了一个接受开机广播(android.intent.action.BOOT_COMPLETED)的接受器receiver,则将此应用判断为需要监听开机广播。可以理解的是,在安装应用时可直接读取应用的AndroidManifest.xml文件信息,确定应用是否需要监听开机广播,在当前安装的应用需要监听开机广播时,将该应用添加至需要监听开机广播的应用列表中,则在确定应用是否需要监听开机广播时,可直接确定该应用是否在需要监听开机广播的应用列表中即可。在应用不需要监听开机广播时,可不做任何处理,应用正常启动。

本实施例提出的方案仅在应用需要监听开机广播时确定其是否接收到开机广播,效率更高。

本发明进一步提供一种开机广播的发送控制装置。

参照图3,图3为本发明开机广播的发送控制装置第一实施例的功能模块示意图。

需要强调的是,对本领域的技术人员来说,图3所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图3所示的开机广播的发送控制装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助开机广播的发送控制装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。

本实施例提出一种开机广播的发送控制装置,该开机广播的发送控制装置包括:

确定模块10,用于在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播;

在本实施例中可通过监听系统中应用的开机指令来检测应用是否启动,也可通过监测应用进程来检测应用是否启动。需要监听开机广播的应用会在应用中添加广播接收器receiver,在本方案中可通过在开机时对未接收到开机广播的应用添加标识来实现对接收到开机广播以及未接收到开机广播的应用进行区分,具体方案如下:

A、该开机广播的发送控制装置还包括:

第一标记模块,用于在检测到移动终端开机时,在检测到移动终端开机时,将所述移动终端中装载的预设应用的状态标记为未接收;

第一接收模块,用于在移动终端发送开机广播后,接收所述移动终端中装载的预设应用反馈的响应信息;

更新模块,用于将反馈所述响应信息的应用的状态由未接收更新为已接收;

所述确定模块10,还用于确定所述应用的状态是否为未接收,其中,在所述应用的状态为未接收时,确定所述应用未接收到所述开机广播。

可通过变量来实现为各个应用的未接收状态和已接收状态的标记,如设置变量broadcastView来标记各个应用的状态,在broadcastView为0时代表应用的状态为未接收,在broadcastView为1时代表应用的状态为已接收,则本方案为在开机时将各个预设应用的broadcastView均赋值为0,在接收到某个应用反馈的响应信息时,将反馈响应信息的应用的broadcastView的值更改为1,在确定所述应用的状态是否为未接收时,仅需要确定该应用的变量即broadcastView是否为0即可。或者,也可在开机时将预设的应用均存储与预设的数据表中,将该数据表的属性标记为未接收,在接收到某个应用反馈的响应信息时,将接收到响应信息的应用添加至属性为已接收的数据表中,在确定所述应用的状态是否为未接收时,仅需要确定该应用是否在属性为未接收的应用列表中即可。

可以理解的是,在移动终端开机且发送开机广播后可向未接收到开机广播的应用发送预设次数的开机广播,若发送预设次数的开机广播后有应用未反馈响应信息,可认为该应用无法接收到开机广播,不修改该应用的状态。

由于某些应用并未需要接收开机广播,则在状态标记时可仅标记需要监听开机广播的应用,效率更高,即第一标记模块包括:

获取单元,用于获取所述移动终端中需要监听所述开机广播的应用;

标记单元,用于将需要监听所述开机广播的应用的状态标记为未接收。

移动终端可读取各个应用的AndroidManifest.xml文件信息,如果此文件定义了一个接受开机广播(android.intent.action.BOOT_COMPLETED)的接受器receiver,则将此应用判断为需要监听开机广播。可以理解时,可在每个应用安装成功时读取应用的AndroidManifest.xml文件信息,在文件信息中定义了receiver可将该应用的信息添加至监听开机广播的应用列表中,在开机时仅需要将该列表中的应用的状态标记为未接收即可。

B、该开机广播的发送控制装置还包括:

第二接收模块,用于在检测到移动终端开机且发送开机广播后,接收所述移动终端中装载的应用反馈的响应信息;

第二标记模块,用于将反馈所述响应信息的应用的状态标记为已接收;

所述确定模块10,还用于确定所述应用的状态是否标记为已接收,其中,在所述应用的状态不是已接收时,确定所述应用未接收到所述开机广播。

可在开机时将预设的应用均存储与预设的数据表中,在接收到某个应用反馈的响应信息时,将接收到响应信息的应用添加至属性为已接收的数据表中,在确定应用的状态是否标记为已接收时,可确定该应用是否在属性为已接收的数据表中,若该应用不在已接收到数据表中则认为该应用的标砖不是已接收。或者仅对接收到响应信息的应用添加标记,在确定应用的状态是否标记为已接收时,直接确定该应用是否添加标记即可。

可以理解的是,在移动终端开机且发送开机广播后可向未接收到开机广播的应用发送预设次数的开机广播,若发送预设次数的开机广播后有应用未反馈响应信息,可认为该应用无法接收到开机广播,不修改该应用的状态。

由于某些应用并未需要接收开机广播,则在状态标记时可仅标记需要监听开机广播的应用,效率更高,则在接收到响应信息时仅需要遍历需要监听开机广播的应用的存储表即可快速查找到该接收响应信息的应用。

移动终端可读取各个应用的AndroidManifest.xml文件信息,如果此文件定义了一个接受开机广播(android.intent.action.BOOT_COMPLETED)的接受器receiver,则将此应用判断为需要监听开机广播。可以理解时,可在每个应用安装成功时读取应用的AndroidManifest.xml文件信息,在文件信息中定义了receiver可将该应用的信息添加至监听开机广播的应用列表中。

控制模块20,用于在所述应用未接收到开机广播时,控制所述移动终端向所述应用发送开机广播。

在移动终端接收到开机广播时,移动终端可正常启动应用,即可不做任何处理。可以理解的是,在控制移动终端发送开机广播后,接收该应用基于接收到的开机广播反馈的响应信息,在预设时间间隔内未接收到响应信息时,可输出应用故障的提示信息;或者,在预设时间间隔内未接收到响应信息时,可继续向所述应用发送开机广播,并接收基于该开机广播反馈的响应信息,在发送开机广播的次数大于预设次数时,输出应用故障提示信息。

本实施例提出的开机广播的发送控制装置,在检测到应用启动时,确定所述应用在移动终端开机时是否接收到开机广播,在所述应用未接收到开机广播时,控制所述移动终端向所述应用发送开机广播,以使在移动终端开机时未接收到开机广播的应用在启动时接收到开机广播,有效的确保移动终端开启和使用的应用均可接收到开机广播。

进一步地,基于第一实施例提出本发明开机广播的发送控制装置第二实施例,在本实施例中,确定模块10,还用于在检测到应用启动时,确定所述应用是否需要监听开机广播,以及在所述应用需要监听开机广播时,确定所述应用在移动终端开机时是否接收到开机广播

在本实施例中,可读取应用的AndroidManifest.xml文件信息,如果此文件定义了一个接受开机广播(android.intent.action.BOOT_COMPLETED)的接受器receiver,则将此应用判断为需要监听开机广播。可以理解的是,在安装应用时可直接读取应用的AndroidManifest.xml文件信息,确定应用是否需要监听开机广播,在当前安装的应用需要监听开机广播时,将该应用添加至需要监听开机广播的应用列表中,则在确定应用是否需要监听开机广播时,可直接确定该应用是否在需要监听开机广播的应用列表中即可。在应用不需要监听开机广播时,可不做任何处理,应用正常启动。

本实施例提出的方案仅在应用需要监听开机广播时确定其是否接收到开机广播,效率更高。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵该非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,云端服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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