一种注册广播的方法及装置与流程

未命名 07-23 阅读:96 评论:0
1.本技术涉及数据处理领域,特别是涉及一种注册广播的方法及装置。
背景技术
::2.应用程序(application,app)在运行过程中需要接收操作系统的广播消息。应用程序需要向操作系统注册广播,应用程序向操作系统注册广播之后,才能接收到操作系统发送的广播消息。其中,“应用程序”也可以简称“应用”。3.在免安装框架中,应用向操作系统注册广播时,由操作系统的核心进程代为注册。但是,操作系统例如安卓(android)操作系统对单个进程注册广播有最大数量限制,例如,限制单个进程最多注册50个广播,这就导致核心进程最多只能注册50个广播。当应用的数量很多,多到超过核心进程最多能够注册的广播的数量时,则会导致部分应用无法成功注册广播,从而影响应用的正常运行。4.因此,急需一种方案,能够解决上述问题。技术实现要素:5.本技术所要解决的技术问题是:在免安装框架中,由核心进程给应用注册广播导致应用的数量很多时,部分应用无法成功注册广播,提供一种注册广播的方法及装置。6.第一方面,本技术实施例提供了一种注册广播的方法,所述方法包括:7.免安装框架中运行在第一进程中的功能模块获取所述第一进程发送的第一广播注册消息,所述第一进程为与第一应用对应的进程,所述第一广播注册消息用于为所述第一应用注册广播;8.所述功能模块根据所述第一广播注册消息确定第二广播注册消息,所述第二广播注册消息用于为所述第一应用注册广播;9.所述功能模块将所述第二广播注册消息发送给操作系统。10.可选的,所述功能模块根据所述第一广播注册消息确定第二广播注册消息,包括:11.所述功能模块将所述第一广播注册消息确定为所述第二广播注册消息。12.可选的,所述功能模块根据所述第一广播注册消息确定第二广播注册消息,包括:13.所述功能模块将所述第一广播注册消息中的第一广播监听器的描述信息替换成第一字符串,得到所述第二广播注册消息,第一广播监听器为所述第一进程对应的广播监听器。14.可选的,所述方法还包括:15.所述功能模块获取所述第一进程发送的第一广播消息;16.所述功能模块根据所述第一广播消息确定第二广播消息;17.所述功能模块将所述第二广播消息发送给操作系统。18.可选的,所述功能模块根据所述第一广播消息确定第二广播消息,包括:19.所述功能模块将所述第一广播消息确定为所述第二广播消息。20.可选的,所述功能模块根据所述第一广播消息确定第二广播消息,包括:21.所述功能模块将所述第一广播消息中的第二广播监听器的描述信息替换成第二字符串,得到所述第二广播消息,所述第二广播监听器为定向接收所述第一广播消息的进程对应的广播监听器。22.可选的,所述功能模块将所述第二广播消息发送给操作系统之前,所述方法还包括:23.若接收所述第二广播消息的进程为独立于所述第一进程的其它进程,24.则所述功能模块向所述操作系统的核心进程发送请求消息,所述请求消息用于请求所述核心进程将接收所述第二广播消息的进程拉活;25.所述功能模块接收所述核心进程发送的确认消息,所述确认消息用于指示接收所述第二广播消息的进程处于运行状态。26.可选的,所述方法还包括:27.所述功能模块获取操作系统发送的第三广播消息;28.所述功能模块根据所述第三广播消息确定第四广播消息;29.所述功能模块将所述第四广播消息发送给所述第一进程。30.可选的,所述功能模块根据所述第三广播消息确定第四广播消息,包括:31.所述功能模块将所述第三广播消息确定为第四广播消息。32.可选的,所述第三广播消息中包括第一字符串,所述功能模块根据所述第三广播消息确定第四广播消息,包括:33.所述功能模块将所述第三广播消息中的第一字符串替换成第一广播监听器的描述信息,得到所述第四广播消息,第一广播监听器为所述第一进程对应的广播监听器。34.第二方面,本技术实施例提供了一种注册广播的装置,应用于免安装框架中运行在第一进程中的功能模块,所述装置包括:35.第一获取单元,用于获取所述第一进程发送的第一广播注册消息,所述第一进程为与第一应用对应的进程,所述第一广播注册消息用于为所述第一应用注册广播;36.第一确定单元,用于根据所述第一广播注册消息确定第二广播注册消息,所述第二广播注册消息用于为所述第一应用注册广播;37.第一发送单元,用于将所述第二广播注册消息发送给操作系统。38.可选的,所述第一确定单元,用于:39.将所述第一广播注册消息确定为所述第二广播注册消息。40.可选的,所述第一确定单元,用于:41.将所述第一广播注册消息中的第一广播监听器的描述信息替换成第一字符串,得到所述第二广播注册消息,第一广播监听器为所述第一进程对应的广播监听器。42.可选的,所述装置还包括:43.第二获取单元,用于获取所述第一进程发送的第一广播消息;44.第二确定单元,用于根据所述第一广播消息确定第二广播消息;45.第二发送单元,用于将所述第二广播消息发送给操作系统。46.可选的,所述第二确定单元,用于:47.所述功能模块将所述第一广播消息确定为所述第二广播消息。48.可选的,所述第二确定单元,用于:所述功能模块将所述第一广播消息中的第二广播监听器的描述信息替换成第二字符串,得到所述第二广播消息,所述第二广播监听器为定向接收所述第一广播消息的进程对应的广播监听器。49.可选的,所述装置还包括:50.第三发送单元,用于:将所述第二广播消息发送给操作系统之前,若接收所述第二广播消息的进程为独立于所述第一进程的其它进程,则向所述操作系统的核心进程发送请求消息,所述请求消息用于请求所述核心进程将接收所述第二广播消息的进程拉活;51.接收单元,用于接收所述核心进程发送的确认消息,所述确认消息用于指示接收所述第二广播消息的进程处于运行状态。52.可选的,所述装置还包括:53.第三获取单元,用于获取操作系统发送的第三广播消息;54.第三确定单元,用于根据所述第三广播消息确定第四广播消息;55.第四发送单元,用于将所述第四广播消息发送给所述第一进程。56.可选的,所述第三确定单元,用于:57.将所述第三广播消息确定为第四广播消息。58.可选的,所述第三广播消息中包括第一字符串,所述第三确定单元,用于:59.将所述第三广播消息中的第一字符串替换成第一广播监听器的描述信息,得到所述第四广播消息,第一广播监听器为所述第一进程对应的广播监听器。60.第三方面,本技术实施例提供了一种设备,所述设备包括处理器和存储器;61.所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行以上第一方面任一项所述的方法。62.第四方面,本技术实施例提供了一种计算机可读存储介质,其特征在于,包括指令,所述指令指示设备执行以上第一方面任一项所述的方法。63.第五方面,本技术实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行以上第一方面任一项所述的方法。64.与现有技术相比,本技术实施例具有以下优点:65.本技术实施例提供了一种注册广播的方法,具体地,当第一应用需要注册广播时,可以由第一应用对应的第一进程发送第一广播注册消息。而后,可以由免安装框架中运行在第一进程中的功能模块获取所述第一进程发送的第一广播注册消息,所述第一广播注册消息用于为第一应用注册广播。所述功能模块获取第一广播注册消息之后,可以根据第一广播注册消息确定第二广播注册消息,其中,第二注册广播消息也用于为第一应用注册广播。而后,所述功能模块将所述第二广播注册消息发送给操作系统。由于所述功能模块运行在第一进程,所以利用本方案相当于由第一进程自身为第一进程注册广播。因此,利用本方案,可以避免由核心进程给应用注册广播导致部分应用无法成功注册广播的问题,从而使得各个应用均能够正常注册广播,从而保证各个应用均正常运行。附图说明66.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。67.图1为本技术实施例提供的一种注册广播的方法的流程示意图;68.图2为本技术实施例提供的一种发送广播消息的方法的流程示意图;69.图3为本技术实施例提供的一种接收广播消息的方法的流程示意图;70.图4为本技术实施例提供的一种注册广播的装置的结构示意图;71.图5为本技术实施例提供的一种设备的结构示意图。具体实施方式72.为了使本
技术领域
:的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。73.下面结合附图,详细说明本技术的各种非限制性实施方式。74.示例性方法75.参见图1,该图为本技术实施例提供的一种注册广播的方法的流程示意图。图1所示的方法,例如可以包括以下步骤:s101-s103。76.s101:免安装框架中运行在第一进程中的功能模块获取所述第一进程发送的第一广播注册消息,所述第一进程为第一应用对应的进程,所述第一广播注册消息用于为所述第一应用注册广播。77.在本技术实施例中,所述第一应用为免安装应用,所述第一应用例如可以为游戏应用。当第一应用需要注册广播时,可以由第一应用的第一进程发送用于为第一应用注册广播的第一广播注册消息。在本技术实施例中,第一进程不是将第一广播注册消息发送给核心进程,而是由免安装框架中运行在第一进程中的功能模块获取所述第一广播注册消息。并进一步由所述功能模块为第一应用注册广播。78.关于所述第一广播注册消息,需要说明的是,所述第一广播注册消息中包括第一应用希望监听的广播消息的信息,例如,所述第一广播注册消息中包括多个关键词(key),一个key用于标识一类所述第一应用希望监听的广播消息。另外,若第一应用希望监听发送给第一应用的定向广播,则所述第一广播注册消息中可以包括第一广播监听器的描述信息,其中,第一广播监听器为所述第一进程对应的广播监听器。79.关于定向广播,需要说明的是,有既定的接收者的广播为定向广播。而没有既定的接受者的广播为非定向广播,对于非定向广播,进程可以选择是否监听该广播。80.s102:所述功能模块根据所述第一广播注册消息确定第二广播注册消息,所述第二广播注册消息用于为所述第一应用注册广播。81.s103:所述功能模块将所述第二广播注册消息发送给操作系统。82.在本技术实施例中,由于所述第一应用为免安装应用,因此,所述第一进程生成的第一广播注册消息中可能包括操作系统无法正确解析的内容,因此,所述功能模块可以根据第一广播注册消息确定第二广播注册消息,此处提及的第二广播注册消息,也用于为所述第一应用注册广播,并且,所述第二广播注册消息中需要操作系统解析的内容所述操作系统均能够正确解析。这样一来,所述功能模块将第二广播注册消息发送给操作系统之后,即可顺利为第一应用注册广播。83.在一个示例中,若第一应用无需监听发送给第一应用的定向广播,则所述第一广播注册消息中不包括所述操作系统无法解析的内容,对于这种情况,s102在具体实现时,所述功能模块可以直接将所述第一广播注册消息确定为所述第二广播注册消息。84.在又一个示例中,若第一应用需要监听发送给第一应用的定向广播,则所述第一广播注册消息中包括第一广播监听器的描述信息,而所述操作系统无法正确解析所述第一广播监听器的描述信息。对于这种情况,考虑到操作系统能够解析字符串,因此,s102在具体实现时,所述功能模块可以将所述第一广播注册消息中的第一广播监听器的描述信息替换成第一字符串,得到所述第二广播注册消息。对于这种情况,所述功能模块还可以保存所述第一广播监听器的描述信息和第一字符串之间的映射关系,以便于所述功能模块在获取发送给第一进程的定向广播时,将该定向广播中的第一字符串转换成第一广播监听器的描述信息之后发送给第一进程。关于接收定向广播该映射关系的具体使用方式,可以参考下文的相关描述,此处不做详述。85.通过以上描述可知,在为第一应用注册广播时,由所述功能模块将第二广播注册消息发送给操作系统。由于所述功能模块运行在第一进程,所以利用本方案相当于由第一进程自身为第一进程注册广播。因此,利用本方案,可以避免由核心进程给应用注册广播导致部分应用无法成功注册广播的问题,从而使得各个应用均能够正常注册广播,从而保证各个应用均正常运行。86.可以理解的是,第一进程可以向其它进程发送广播消息。传统技术中,第一进程发送的广播消息也需要由核心进程代为转发到操作系统。本技术实施例还提供对应的广播发送方法,在第一进程发送广播消息时,无需由核心进程代为转发到操作系统,而是由第一进程直接发送到操作系统,从而提升了核心进程的稳定性。87.参见图2,该图为本技术实施例提供的一种发送广播消息的方法的流程示意图。图2所示的方法,例如可以包括如下s201-s203。88.s201:功能模块获取第一进程发送的第一广播消息。89.此处提及的功能模块,即为前文所述的“免安装框架中运行在第一进程中的功能模块”。90.需要说明的是,第一广播消息可以是定向广播消息,也可以是非定向广播消息,本技术实施例不做具体限定。91.当所述第一广播消息是定向广播消息时,所述第一广播消息中可以包括所述第一广播消息的既定接收进程对应的广播监听器的描述信息。为方便描述,将“所述第一广播消息的既定接收进程对应的广播监听器”称为“第二广播监听器”,则所述第一广播消息中包括所述第二广播监听器的描述信息。92.s202:功能模块根据所述第一广播消息确定第二广播消息。93.s203:功能模块将所述第二广播消息发送给操作系统。94.如前所述,由于所述第一应用为免安装应用,因此,所述第一进程生成的第一广播消息中可能包括操作系统无法正确解析的内容,因此,所述功能模块可以根据第一广播消息确定第二广播消息,所述第二广播消息中需要操作系统解析的内容所述操作系统均能够正确解析。这样一来,所述功能模块将第二广播消息发送给操作系统之后,操作系统即可正常将所述第二广播注册消息发送出去。95.在一个示例中,若所述第一广播消息不是定向广播消息,则所述第一广播消息中不操包括作系统无法解析的内容,此时,s202在具体实现时,所述功能模块例如可以直接将所述第一广播消息确定为第二广播消息。96.在又一个示例中,若所述第一广播消息是定向广播消息,则所述第一广播消息中可以包括第二广播监听器的描述信息。对于这种情况,所述功能模块可以将所述第一广播消息中的第二广播监听器的描述信息替换成第二字符串,从而得到所述第二广播消息。其中:所述第一进程可以预先生成并保存所述第二广播监听器的描述信息和第二字符串之间的对应关系。这样一来,所述功能模块获取到携带所述第二广播监听器的描述信息的第一广播消息之后,则可以根据该对应关系,确定第二字符串,并进一步将所述第一广播消息中的第二广播监听器的描述信息替换成第二字符串,从而得到所述第二广播消息。97.在一个示例中,考虑到若接收所述第二广播消息的进程为独立于第一进程的其它进程,则只有在该接收第二广播消息的进程处于运行状态时,该进程才能够正常接收到该第二广播消息。对于这种情况,所述功能模块在执行s203之前,还可以向所述操作系统的核心进程发送请求消息,所述请求消息用于请求所述核心进程将接收所述第二广播消息的进程拉活。所谓将接收所述第二广播消息的进程拉活,即使得接收所述第二广播消息的进程处于运行状态。当所述功能模块发送所述请求消息之后,可以等待所述核心进程发送的确认消息,其中,所述确认消息用于指示接收所述第二广播消息的进程处于运行状态。可以理解的是,所述功能模块接收到该确认消息之后,则说明接收所述第二广播消息的进程处于运行状态。此时,接收所述第二广播消息的进程则可以正常接收到第二广播消息。当所述功能模块接收到所述确认消息之后,即可执行s203。可以理解的是,接收所述第二广播消息的进程,即为接收所述第一广播消息的进程。98.关于所述请求消息所携带的内容,本技术实施例不做具体限定。在一个示例中,所述请求消息例如可以包括接收所述第二广播消息的进程的标识。99.关于所述确认消息所携带的内容,本技术实施例不做具体限定。在一个示例中,所述确认消息中例如可以包括接收所述第二广播消息的进程的标识。在又一个示例中,所述确认消息例如可以包括所述请求消息的标识。100.可以理解的是,执行s101-s103之后,所述第一进程即可接收操作系统发送的广播消息。传统技术中,第一进程接收来自于操作系统的广播消息时,需要核心进程进行转发。本技术实施例还提供对应的广播接收方法,第一进程可以直接接收操作系统发送的广播消息,无需经过核心进程转发,从而提升核心进程的稳定性。101.参见图3,该图为本技术实施例提供的一种接收广播消息的方法的流程示意图。图3所示的方法,例如可以通过如下s301-s303实现。102.s301:功能模块获取操作系统发送的第三广播消息。103.此处提及的功能模块,即为前文所述的“免安装框架中运行在第一进程中的功能模块”。104.需要说明的是,第三广播消息可以是发送给第一进程的定向广播消息,也可以是非定向广播消息,本技术实施例不做具体限定。105.当所述第三广播消息是发送给第一进程的定向广播消息时,所述第三广播消息中可以包括第一字符串。106.在一个示例中,所述第三广播消息可以是其它进程例如第二进程发送给操作系统的。第二进程向操作系统发送第三广播消息的具体实现,与第一进程向操作系统发送广播消息的实现方式类似,具体可以参考以上s201-s203的具体描述部分,此处不做详述。107.s302:功能模块根据所述第三广播消息确定第四广播消息。108.s303:功能模块将所述第四广播消息发送给所述第一进程。109.通过以上s101-s103可知,第一进程注册广播时,所述功能模块将所述第一广播监听器的描述信息替换成了第一字符串。因此,若所述第三广播消息是发送给第一进程的定向广播消息,则所述第三广播消息中可以包括所述第一字符串。而此时,第一进程无法正常接收该第三广播消息。为了使得第一进程能够正常接收到该第三广播消息,可以将所述第一字符串替换成第一广播监听器的描述信息。换言之,若所述第三广播消息为发送给第一进程的定向广播消息,则s302在具体实现时,可以将所述第三广播消息中的第一字符串替换成第一广播监听器的描述信息,得到所述第四广播消息。110.若第三广播消息不是发送给第一进程的定向广播消息,则所述第一进程可以正常接收所述第三广播消息。对于这种情况,s302在具体实现时,可以将所述第三广播消息确定为第四广播消息。111.示例性设备112.基于以上实施例提供的方法,本技术实施例还提供了一种装置,以下结合附图介绍该装置。113.参见图4,该图为本技术实施例提供的一种注册广播的装置的结构示意图。所述装置400应用于免安装框架中运行在第一进程中的功能模块,所述装置400例如可以具体包括:第一获取单元401、第一确定单元402和第一发送单元403。114.第一获取单元401,用于获取所述第一进程发送的第一广播注册消息,所述第一进程为与第一应用对应的进程,所述第一广播注册消息用于为所述第一应用注册广播;115.第一确定单元402,用于根据所述第一广播注册消息确定第二广播注册消息,所述第二广播注册消息用于为所述第一应用注册广播;116.第一发送单元403,用于将所述第二广播注册消息发送给操作系统。117.可选的,所述第一确定单元402,用于:118.将所述第一广播注册消息确定为所述第二广播注册消息。119.可选的,所述第一确定单元402,用于:120.将所述第一广播注册消息中的第一广播监听器的描述信息替换成第一字符串,得到所述第二广播注册消息,第一广播监听器为所述第一进程对应的广播监听器。121.可选的,所述装置还包括:122.第二获取单元,用于获取所述第一进程发送的第一广播消息;123.第二确定单元,用于根据所述第一广播消息确定第二广播消息;124.第二发送单元,用于将所述第二广播消息发送给操作系统。125.可选的,所述第二确定单元,用于:126.所述功能模块将所述第一广播消息确定为所述第二广播消息。127.可选的,所述第二确定单元,用于:所述功能模块将所述第一广播消息中的第二广播监听器的描述信息替换成第二字符串,得到所述第二广播消息,所述第二广播监听器为定向接收所述第一广播消息的进程对应的广播监听器。128.可选的,所述装置还包括:129.第三发送单元,用于:将所述第二广播消息发送给操作系统之前,若接收所述第二广播消息的进程为独立于所述第一进程的其它进程,则向所述操作系统的核心进程发送请求消息,所述请求消息用于请求所述核心进程将接收所述第二广播消息的进程拉活;130.接收单元,用于接收所述核心进程发送的确认消息,所述确认消息用于指示接收所述第二广播消息的进程处于运行状态。131.可选的,所述装置还包括:132.第三获取单元,用于获取操作系统发送的第三广播消息;133.第三确定单元,用于根据所述第三广播消息确定第四广播消息;134.第四发送单元,用于将所述第四广播消息发送给所述第一进程。135.可选的,所述第三确定单元,用于:136.将所述第三广播消息确定为第四广播消息。137.可选的,所述第三广播消息中包括第一字符串,所述第三确定单元,用于:138.将所述第三广播消息中的第一字符串替换成第一广播监听器的描述信息,得到所述第四广播消息,第一广播监听器为所述第一进程对应的广播监听器。139.由于所述装置400是与以上方法实施例提供的方法对应的装置,所述装置400的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置400的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。140.本技术实施例还提供了一种设备,所述设备包括处理器和存储器;141.所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行以上方法实施例任一项所述的方法。142.下面参考图5,其示出了适于用来实现本技术实施例的电子设备500的结构示意图。本技术实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(personaldigitalassistant,个人数字助理)、pad(portableandroiddevice,平板电脑)、pmp(portablemediaplayer,便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv(television,电视机)、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。143.如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。144.通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。145.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本技术实施例的方法中限定的上述功能。146.本技术实施例提供的电子设备与上述实施例提供的方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。147.本技术实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一实施例所述的方法。148.需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。149.在一些实施方式中,客户端、服务器可以利用诸如http(hypertexttransferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络),以及任何当前已知或未来研发的网络。150.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。151.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述方法。152.可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。153.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。154.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定,例如,语音数据采集模块还可以被描述为“数据采集模块”。155.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。156.在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。157.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本公开未公开的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。158.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制159.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
技术特征:
1.一种注册广播的方法,其特征在于,所述方法包括:免安装框架中运行在第一进程中的功能模块获取所述第一进程发送的第一广播注册消息,所述第一进程为与第一应用对应的进程,所述第一广播注册消息用于为所述第一应用注册广播;所述功能模块根据所述第一广播注册消息确定第二广播注册消息,所述第二广播注册消息用于为所述第一应用注册广播;所述功能模块将所述第二广播注册消息发送给操作系统。2.根据权利要求1所述的方法,其特征在于,所述功能模块根据所述第一广播注册消息确定第二广播注册消息,包括:所述功能模块将所述第一广播注册消息确定为所述第二广播注册消息。3.根据权利要求1所述的方法,其特征在于,所述功能模块根据所述第一广播注册消息确定第二广播注册消息,包括:所述功能模块将所述第一广播注册消息中的第一广播监听器的描述信息替换成第一字符串,得到所述第二广播注册消息,第一广播监听器为所述第一进程对应的广播监听器。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述功能模块获取所述第一进程发送的第一广播消息;所述功能模块根据所述第一广播消息确定第二广播消息;所述功能模块将所述第二广播消息发送给操作系统。5.根据权利要求4所述的方法,其特征在于,所述功能模块根据所述第一广播消息确定第二广播消息,包括:所述功能模块将所述第一广播消息确定为所述第二广播消息。6.根据权利要求4所述的方法,其特征在于,所述功能模块根据所述第一广播消息确定第二广播消息,包括:所述功能模块将所述第一广播消息中的第二广播监听器的描述信息替换成第二字符串,得到所述第二广播消息,所述第二广播监听器为定向接收所述第一广播消息的进程对应的广播监听器。7.根据权利要求4所述的方法,其特征在于,所述功能模块将所述第二广播消息发送给操作系统之前,所述方法还包括:若接收所述第二广播消息的进程为独立于所述第一进程的其它进程,则所述功能模块向所述操作系统的核心进程发送请求消息,所述请求消息用于请求所述核心进程将接收所述第二广播消息的进程拉活;所述功能模块接收所述核心进程发送的确认消息,所述确认消息用于指示接收所述第二广播消息的进程处于运行状态。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述功能模块获取操作系统发送的第三广播消息;所述功能模块根据所述第三广播消息确定第四广播消息;所述功能模块将所述第四广播消息发送给所述第一进程。9.根据权利要求8所述的方法,其特征在于,所述功能模块根据所述第三广播消息确定第四广播消息,包括:
所述功能模块将所述第三广播消息确定为第四广播消息。10.根据权利要求8所述的方法,其特征在于,所述第三广播消息中包括第一字符串,所述功能模块根据所述第三广播消息确定第四广播消息,包括:所述功能模块将所述第三广播消息中的第一字符串替换成第一广播监听器的描述信息,得到所述第四广播消息,第一广播监听器为所述第一进程对应的广播监听器。11.一种注册广播的装置,其特征在于,应用于免安装框架中运行在第一进程中的功能模块,所述装置包括:第一获取单元,用于获取所述第一进程发送的第一广播注册消息,所述第一进程为与第一应用对应的进程,所述第一广播注册消息用于为所述第一应用注册广播;第一确定单元,用于根据所述第一广播注册消息确定第二广播注册消息,所述第二广播注册消息用于为所述第一应用注册广播;第一发送单元,用于将所述第二广播注册消息发送给操作系统。12.一种设备,其特征在于,所述设备包括处理器和存储器;所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行如权利要求1至10中任一项所述的方法。13.一种计算机可读存储介质,其特征在于,包括指令,所述指令指示设备执行如权利要求1至10中任一项所述的方法。

技术总结
本申请公开了一种注册广播的方法,当第一应用需要注册广播时,由第一应用对应的第一进程发送第一广播注册消息。而后,由免安装框架中运行在第一进程中的功能模块获取第一进程发送的第一广播注册消息,第一广播注册消息用于为第一应用注册广播。功能模块获取第一广播注册消息之后,根据第一广播注册消息确定第二广播注册消息。而后,功能模块将第二广播注册消息发送给操作系统。由于功能模块运行在第一进程,所以利用本方案相当于由第一进程自身为第一进程注册广播。因此,利用本方案可以避免由核心进程给应用注册广播导致部分应用无法成功注册广播的问题,从而使得各个应用均能够正常注册广播,从而保证各个应用均正常运行。从而保证各个应用均正常运行。从而保证各个应用均正常运行。


技术研发人员:袁科杰 陈峥 金炼城
受保护的技术使用者:北京有竹居网络技术有限公司
技术研发日:2022.01.07
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐