CN116185669B - 一种广播分发方法及相关设备 - Google Patents
一种广播分发方法及相关设备 Download PDFInfo
- Publication number
- CN116185669B CN116185669B CN202310470038.4A CN202310470038A CN116185669B CN 116185669 B CN116185669 B CN 116185669B CN 202310470038 A CN202310470038 A CN 202310470038A CN 116185669 B CN116185669 B CN 116185669B
- Authority
- CN
- China
- Prior art keywords
- broadcast
- target
- broadcast receiver
- ams
- electronic device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Circuits Of Receivers In General (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种广播分发方法及相关设备。根据该广播分发方法,AMS可以接收该广播发送者发送的广播,针对同一目标进程的目标广播接收器进行汇聚。针对对应有多个目标广播接收器的目标进程,AMS可以向其发送该接收的广播。该对应有多个目标广播接收器的目标进程再基于其对应的目标广播接收器信息将该广播发送给其对应的每一个目标广播接收器。通过这种方法,针对对应有多个目标广播接收器的目标进程,AMS不必基于binder机制一一向该多个目标广播接收器发送AMS接收的广播,而仅基于一次binder通信向该目标进程发送广播即可,减少了binder通信的次数,降低了对CPU、内存等***资源的占用,避免了资源消耗和浪费。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种广播分发方法及相关设备。
背景技术
作为安卓(Android)***的四大组件之一,广播(Broadcast)是一种在组件之间进行消息传递(例如,传递数据、发送通知等)的机制。这些组件可以在同一个进程或不同进程中。也就是说,广播机制可理解为一种进程间通讯机制。广播机制利用了观察者模式,基于消息发布/订阅事件模型。该模型包括消息发布者、消息订阅者和消息中心。消息发布者、消息订阅者和消息中心分别对应广播机制中的发送者(即广播发送者)、接收者(即广播接收者)和活动管理器服务(Activity Manager Service,AMS)。
发送者会将广播(即广播消息)发送给AMS,AMS再确定该广播消息对应的接收者,再将该广播分发给该广播对应的接收者。可理解,AMS可以基于binder机制来实现向接收者分发广播。具体地,AMS向属于同一进程的不同接收者分发同一广播时,会基于binder机制依次向该不同接收者发送该同一广播。在广播对应的接收者较多的情况下,AMS和接收者之间进行的binder通信(即基于binder机制进行的通信)的次数较多,而每一次binder通信都会占用CPU、内存等***资源,造成资源消耗和浪费,从而影响其他重要任务的执行。
因此,如何高效进行广播分发以减少其占用的***资源是目前亟待解决的问题。
发明内容
本申请提供了一种广播分发方法及相关设备。根据该广播分发方法,AMS接收广播之后,可以针对同一目标进程中的目标广播接收器进行汇聚。针对对应有多个目标广播接收器的目标进程,AMS可以向该目标进程发送AMS接收到的广播,以及该目标进程对应的目标广播接收器信息。该目标进程可以基于其对应的目标广播接收器信息来向该目标进程对应的每一个目标广播接收器(即该目标进程中的每一个目标广播接收器)发送该广播。这种方法可以在一定程度上减少广播分发过程中的binder通信的次数,从而降低对***资源的占用。
第一方面,本申请提供了一种广播分发方法。该方法可以应用于电子设备。根据该方法,电子设备可以通过活动管理器服务AMS接收广播发送者发送的第一广播,还可以通过AMS基于第一对应关系和第一广播确定目标广播接收器和目标进程。在目标进程中的第一进程中存在多个目标广播接收器的情况下,电子设备可以通过AMS向第一进程发送第一广播和第一目标广播接收器信息,还可以通过第一进程基于第一目标广播接收器信息来将第一广播分别发送给第一进程中的各个目标广播接收器。其中,目标进程为目标广播接收器所属的进程。第一目标广播接收器信息包括第一进程中的多个目标广播接收器的相关信息。
在本申请提供的方案中,电子设备中的广播发送者可以向电子设备中的AMS发送广播,AMS接收该广播之后,可以针对同一目标进程中的目标广播接收器进行汇聚。针对对应有多个目标广播接收器的目标进程,AMS可以向该目标进程发送AMS接收到的广播,以及该目标进程对应的目标广播接收器信息。该目标进程可以基于其对应的目标广播接收器信息来向该目标进程对应的每一个目标广播接收器发送该广播。通过这种方法,针对对应有多个目标广播接收器的目标进程,AMS不必基于binder机制一一向该多个目标广播接收器发送AMS接收的广播,而仅基于一次binder通信向该目标进程发送广播即可,减少了binder通信的次数,降低了对CPU、内存等***资源的占用,避免了资源消耗和浪费。
结合第一方面,在一种可能的实现方式中,第一对应关系为在AMS中注册的广播接收器与广播类型的对应关系。电子设备通过AMS基于第一对应关系和所述第一广播确定所述目标广播接收器,具体可以包括:电子设备可以通过AMS基于广播接收器与广播类型的对应关系,确定对应的广播类型与第一广播的类型一样的广播接收器为目标广播接收器。
在本申请提供的方案中,目标广播接收器对应的广播类型可以与第一广播的类型一样。这样,电子设备可以基于广播接收器与广播类型的对应关系,快速查找到目标广播接收器。
结合第一方面,在一种可能的实现方式中,第一对应关系为在AMS中注册的广播接收器与广播的对应关系。电子设备通过AMS基于第一对应关系和第一广播确定目标广播接收器,具体可以包括:电子设备可以通过AMS基于广播接收器与广播之间的对应关系,确定对应的广播为第一广播的广播接收器为目标广播接收器。
在本申请提供的方案中,目标广播接收器对应的广播可以为第一广播。这样,电子设备中的AMS可以基于广播接收器与广播的对应关系,快速查找到目标广播接收器。
结合第一方面,在一种可能的实现方式中,第一目标广播接收器信息为包括第一进程中的各个目标广播接收器的注册名称的列表。
在本申请提供的方案中,第一目标广播接收器信息可以为列表形式,其中可以包括第一进程中的一个或多个目标广播接收器的注册名称。这样,电子设备中的第一进程可以按照该列表中的注册名称快速向第一进程中的一个或多个目标广播接收器发送第一广播。
结合第一方面,在一种可能的实现方式中,电子设备通过AMS确定目标进程,具体可以包括:电子设备通过AMS基于目标广播接收器注册时所携带的binder服务端地址确定目标进程。binder服务端地址可以包含进程信息。
在本申请提供的方案中,广播接收器在AMS中注册时所携带的binder服务端地址所包括的进程信息可以为注册该广播接收器的进程的相关信息(例如,进程名称、进程文件地址等)。
结合第一方面,在一种可能的实现方式中,目标广播接收器所属的进程为注册目标广播接收器的应用程序所属的进程。
可理解,目标广播接收器所属的进程可以指注册该目标广播接收器的进程,也可以理解为发起该目标广播接收器注册的主体所在的进程。该主体可以为应用程序,还可以为具体组件,本申请对此不作限制。
结合第一方面,在一种可能的实现方式中,该方法还可以包括:在第一进程中仅存在一个目标广播接收器的情况下,电子设备可以通过AMS向第一进程中的一个目标广播接收器发送第一广播。
在本申请提供的方案中,在第一进程仅对应有一个目标广播接收器(即第一进程中仅存在一个目标广播接收器)的情况下,AMS可以直接向第一进程中的该一个目标广播接收器发送第一广播,无需确定第一目标广播接收器信息,也无需将第一广播首先发送给第一进程。这种方式可以简化流程,提高广播发送效率。
在本申请的一些实施例中,在第一进程仅对应有一个目标广播接收器的情况下,AMS可以基于原生接口来向第一进程中的一个目标广播接收器发送第一广播。
结合第一方面,在一种可能的实现方式中,该方法还可以包括:在第一进程中仅存在一个目标广播接收器的情况下,电子设备可以通过AMS向第一进程发送第一广播和第一目标广播接收器信息,还可以通过第一进程基于第一目标广播接收器信息来将第一广播发送给第一进程中的目标广播接收器。
在本申请提供的方案中,AMS可以不判断目标进程是对应有多个目标广播接收器,还是对应有一个目标广播接收器,AMS可以确定每一个目标进程对应的目标广播接收器信息,并将第一广播和对应的目标广播接收器信息发送给目标进程。通过这种方式,电子设备可以不必通过AMS判断目标进程中的目标广播接收器是一个还是多个,直接将目标进程对应的目标广播接收器信息和第一广播发送给该目标进程即可,在一定程度上简化了流程,提高了广播发送效率。
在本申请的一些实施例中,在第一进程仅对应有一个目标广播接收器的情况下,AMS可以基于新增接口来向第一进程发送第一广播和第一目标广播接收器信息。
结合第一方面,在一种可能的实现方式中,电子设备通过AMS向第一进程发送第一广播和第一目标广播接收器信息,具体可以包括:电子设备可以通过AMS基于新增接口向第一进程发送第一广播和第一目标广播接收器信息。
在本申请提供的方案中,在第一进程对应有多个目标广播接收器的情况下,AMS可以基于新增接口来向第一进程发送第一广播和第一目标广播接收器信息。
第二方面,本申请提供了一种电子设备。该电子设备可以包括一个或多个存储器、一个或多个处理器。该存储器用于存储计算机程序。该处理器用于调用计算机程序,使得电子设备执行:通过活动管理器服务AMS接收广播发送者发送的第一广播,还可以通过AMS基于第一对应关系和第一广播确定目标广播接收器和目标进程;在目标进程中的第一进程中存在多个目标广播接收器的情况下,可以通过AMS向第一进程发送第一广播和第一目标广播接收器信息,还可以通过第一进程基于第一目标广播接收器信息来将第一广播分别发送给第一进程中的多个目标广播接收器。其中,目标进程为目标广播接收器所属的进程。第一目标广播接收器信息包括第一进程中的各个目标广播接收器的相关信息。
结合第二方面,在一种可能的实现方式中,第一对应关系为在AMS中注册的广播接收器与广播类型的对应关系。该处理器用于调用计算机程序,使得电子设备通过AMS基于第一对应关系和所述第一广播确定所述目标广播接收器时,具体使得电子设备执行:通过AMS基于广播接收器与广播类型的对应关系,确定对应的广播类型与第一广播的类型一样的广播接收器为目标广播接收器。
结合第二方面,在一种可能的实现方式中,第一对应关系为在AMS中注册的广播接收器与广播的对应关系。该处理器用于调用计算机程序,使得电子设备通过AMS基于第一对应关系和所述第一广播确定所述目标广播接收器时,具体使得电子设备执行:通过AMS基于广播接收器与广播的对应关系,确定对应的广播为第一广播的广播接收器为目标广播接收器。
结合第二方面,在一种可能的实现方式中,第一目标广播接收器信息为包括第一进程中的多个目标广播接收器的注册名称的列表。
结合第二方面,在一种可能的实现方式中,该处理器用于调用计算机程序,使得电子设备通过AMS确定目标进程时,具体使得电子设备执行:通过AMS基于目标广播接收器注册时所携带的binder服务端地址确定目标进程。binder服务端地址可以包含进程信息。
结合第二方面,在一种可能的实现方式中,目标广播接收器所属的进程为注册目标广播接收器的应用程序所属的进程。
结合第二方面,在一种可能的实现方式中,该处理器还可以用于调用计算机程序,使得电子设备执行:在第一进程中仅存在一个目标广播接收器的情况下,可以通过AMS向第一进程中的一个目标广播接收器发送第一广播。
结合第二方面,在一种可能的实现方式中,该处理器还可以用于调用计算机程序,使得电子设备执行:可以通过AMS向第一进程发送第一广播和第一目标广播接收器信息,还可以通过第一进程基于第一目标广播接收器信息来将第一广播发送给第一进程中的目标广播接收器。
结合第二方面,在一种可能的实现方式中,该处理器用于调用计算机程序,使得电子设备通过AMS向第一进程发送第一广播和第一目标广播接收器信息时,具体使得电子设备执行:可以通过AMS基于新增接口向第一进程发送第一广播和第一目标广播接收器信息。
第三方面,本申请提供了一种计算机存储介质。该计算机存储介质包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实现方式所描述的方法。
第四方面,本申请实施例提供一种芯片。该芯片可以应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实现方式所描述的方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品。当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实现方式所描述的方法。
可理解,上述第二方面提供的电子设备、第三方面提供的计算机存储介质、第四方面提供的芯片,以及第五方面提供的计算机程序产品均用于执行如第一方面或第一方面的任意一种实现方式所描述的方法。因此,其所能达到的有益效果可参考上述第一方面中任一种可能的实现方式的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种广播注册及分发流程示意图;
图2为本申请实施例提供的一种广播分发示意图;
图3A和图3B为本申请实施例提供的一组广播分发方法的流程图;
图4为本申请实施例提供的一种汇聚目标广播接收器的示意图;
图5为本申请实施例提供的又一种广播分发示意图;
图6为本申请实施例提供的又一种广播分发示意图;
图7为本申请实施例提供的又一种广播分发示意图;
图8为本申请实施例提供的又一种广播分发示意图;
图9为本申请实施例提供的又一种广播分发方法的流程图;
图10为本申请实施例提供的又一种广播分发方法的流程图;
图11为本申请实施例提供的一种电子设备的硬件结构示意图;
图12为本申请实施例提供的一种电子设备的软件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
首先,对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
1、广播
根据上文,广播机制涉及广播发送者、广播接收者和AMS。
下面基于图1介绍广播注册及分发流程。
如图1所示,接收者(即广播接收器)可以在AMS中进行注册(即广播注册)。发送者可以向AMS发送广播。AMS可以基于注册的广播接收器(BroadcastReceiver)的相关信息来查找该广播对应的接收者(即广播接收器),并将该广播传输到相应的消息队列中(即广播入队)以待AMS处理。而AMS处理时再将该广播依次发送给其对应的接收者(即广播接收器),即实现广播分发。可理解,如图1所示,同一广播对应的广播接收器中,属于同一进程的广播接收器可以有多个,并且,AMS可以将同一广播依次分发给每一个广播接收器,每一次分发都是一次进程间通信(例如,binder通信)。一般来说,接收者在AMS中进行注册、发送者向AMS发送广播,以及AMS向接收者发送广播均是基于binder机制实现的。
需要注意的是,同一广播对应的广播接收器可以在同一进程中,也可以在不同进程中。并且,同一广播可以对应多个广播接收器。这也就意味着,在同一广播对应多个广播接收器的情况下,该同一广播对应的广播接收器中可以有一个或多个广播接收器处于同一进程中。AMS可以基于binder机制依次将广播发送给其对应的每一个广播接收器。针对该同一进程中的多个广播接收器,AMS也可以基于binder机制依次将广播发送给它们。
示例性的,如图2所示,***侧AMS接收广播发送者基于binder机制发送的广播G1之后,可以确定广播G1对应的广播接收器包括receiver1、receiver2、receiver3、receiver4、receiver5、receiver6、receiver7和receiver8。其中,receiver1、receiver2、receiver3和receiver4为应用程序A注册的广播接收器,应用程序A对应的进程为进程a_1。receiver5、receiver6、receiver7和receiver8为应用程序B注册的广播接收器,应用程序B对应的进程为进程b_1。基于binder机制,AMS可以通过广播分发器将广播G1分别发送至receiver1、receiver2、receiver3、receiver4、receiver5、receiver6、receiver7和receiver8。并且,AMS每一次发送广播G1都会基于binder机制,即AMS每一次发送广播G1的过程都是一次binder通信。也就是说,AMS发送广播G1的过程中总共会进行8次binder通信,严重占用了CPU、内存等***资源。
2、binder机制
binder机制是一种进程间通信(Interprocess Communication,IPC)机制。binder机制包括一些***组件。这些组件分别是Client、Server、服务管理器(Service Manager,SM)和binder驱动程序(即binder驱动)。
Client指的是客户端进程,发起进程请求的一方都可以称为客户端进程。Server指的是服务端进程,被请求执行某种服务的进程都可以称为服务端进程。SM用于对服务端进程进行管理。每个服务端进程都要在SM中注册所拥有的跨进程的binder, 并保存对应的binder的引用。Client可以在SM中查询想要的服务,然后SM会相应返回一个binder的引用。binder驱动是负责各个进程之间的通信的内核模块。
binder机制可以包括三个过程:注册服务、获取服务和使用服务。注册服务:Server首先向SM注册服务(Service)。获取服务:Client使用某个Service之前,需要先向SM获取相应的Service信息。使用服务:Client根据得到的Service信息,与提供服务的Server建立通路,然后就可以与Server交互。
在一种可能的实现方式中,应用程序可以改变广播注册方式。应用程序可以针对一种广播类型向操作***注册一个虚拟广播接收器(即向AMS注册一个虚拟广播接收器)。该虚拟广播接收器可以接收广播,但是无法实际处理相应业务。在AMS接收的广播对应有由同一应用程序注册的多个广播接收器的情况下,AMS可以基于binder机制将该广播发送给该应用程序中的与该广播类型对应的虚拟广播接收器。该虚拟广播接收器接收该广播之后,可以将该广播发送给该应用程序中与该广播对应的广播接收器,再由广播接收器处理该广播。在这种实现方式中,应用程序并未注册实际处理业务的广播接收器,而是注册虚拟广播接收器,再基于广播类型与实际处理业务的广播接收器的对应关系,由虚拟广播接收器将接收的广播发送给实际广播接收者。可理解,这种方法通过改变应用程序侧的注册方式减少了binder通信次数,但是应用程序需要注册多个虚拟广播接收器来接收多种类型的广播,并且不必再向操作***注册实际处理广播的广播接收器。值得注意的是,这种方法需要应用程序改变向操作***注册广播接收器的方式,属于应用侧的改进。这也就意味着,在多种应用程序改变向操作注册广播接收器的方式的情况下,才能在多种场景中减少binder通信次数。
本申请实施例提供了一种广播分发方法及相关设备。根据该广播分发方法,AMS可以接收广播发送者发送的广播,针对同一目标进程的目标广播接收器进行汇聚,并将接收的广播发送给对应有多个目标广播接收器的目标进程。该对应有多个目标广播接收器的目标进程再基于其对应的目标广播接收器信息将该广播发送给其对应的每一个目标广播接收器。通过这种方法,针对对应有多个目标广播接收器的目标进程,AMS不必基于binder机制一一向该多个目标广播接收器发送AMS接收的广播,而仅基于一次binder通信向该目标进程发送广播即可,减少了binder通信的次数,降低了对CPU、内存等***资源的占用,避免了资源消耗和浪费。
下面介绍本申请实施例提供的一种广播分发方法。
电子设备中的广播发送者可以向电子设备中的AMS发送广播。相应的,AMS可以接收该广播发送者发送的广播。AMS接收该广播之后,可以确定目标广播接收器和目标进程。目标广播接收器对应接收的广播为广播发送者发送的广播。目标进程指的是目标广播接收器所属的进程。AMS可以确定对应有多个目标广播接收器的目标进程,并得到该对应有多个目标广播接收器的目标进程所对应的目标广播接收器信息。针对对应有多个目标广播接收器的目标进程,AMS可以将广播发送者发送给AMS的广播,以及该对应有多个目标广播接收器的目标进程对应的目标广播接收器信息发送给该对应有多个目标广播接收器的目标进程。该对应有多个目标广播接收器的目标进程接收该广播和其对应的目标广播接收器信息之后,可以基于其对应的目标广播接收器信息确定其对应的目标广播接收器,并将该广播发送给其对应的每一个目标广播接收器。而针对对应有一个目标广播接收器的目标进程,AMS可以将广播发送者发送给AMS的广播发送给该对应有一个目标广播接收器的目标进程中的目标广播接收器。可理解,目标广播接收器信息用于指明目标进程中的目标广播接收器。
具体地,请参阅图3A,图3A为本申请实施例提供的一种广播分发方法的流程图。该广播分发方法可以包括但不限于如下步骤:
S301:AMS接收广播发送者发送的广播_1。
电子设备中的广播发送者可以向电子设备中的AMS发送广播_1。相应的,AMS可以接收广播发送者向AMS发送的广播_1。
可理解,广播发送者可以是电子设备中的操作***,还可以是电子设备中的应用程序、组件等,本申请对此不作限制。
S302:AMS基于广播_1,以及第一对应关系确定目标广播接收器和目标进程。目标广播接收器为用于接收广播_1的广播接收器。目标进程为目标广播接收器所属的进程。目标进程与目标广播接收器之间的对应关系为一对一的对应关系,或者一对多的对应关系。
AMS接收广播发送者发送的广播_1之后,可以基于第一对应关系确定广播_1对应的目标广播接收器,即用于接收广播_1的广播接收器,并确定相应的目标进程。
在本申请的一些实施例中,第一对应关系,具体可以包括:广播接收器与广播类型之间的对应关系。在这种情况下,AMS可以获取在AMS中注册的广播接收器和广播类型之间的对应关系,并基于该对应关系来查找对应的广播类型与广播_1的类型一样的广播接收器,该广播接收器即为目标广播接收器。也就是说,目标广播接收器对应接收的广播的类型与广播_1的类型一样。可理解,广播接收器和广播类型之间的对应关系可以用于表明广播接收器对应接收的广播的类型。即该对应关系可以用于表明广播接收器可以接收哪种类型的广播。
可理解,不同广播接收器对应的广播类型可以相同,也可以不同。在本申请的一些实施例中,一个广播接收器可以对应一种或多种广播类型。
示例性的,如表1所示,广播接收器receiver1对应的广播类型为L1,即receiver1对应接收的广播的类型为L1,广播接收器receiver2对应的广播类型为L2,即receiver2对应接收的广播的类型为L2,广播接收器receiver3对应的广播类型为L1,即receiver3对应接收的广播的类型为L1,广播接收器receiver4对应的广播类型为L3,即receiver4对应接收的广播的类型为L3,广播接收器receiver5对应的广播类型为L2,即receiver5对应接收的广播的类型为L2。在这种情况下,若AMS确定广播_1的类型为L1,则AMS可以查找对应的广播类型为L1的广播接收器,比如表1所示的receiver1和receiver3,AMS可以确定目标广播接收器包括receiver1和receiver3。
表1
在一种可能的实现方式中,AMS中可以保存有广播接收器和广播类型之间的对应关系。具体地,广播接收器在AMS中注册的过程中,AMS可以记录注册的广播接收器所对应接收的广播的类型。
在一种可能的实现方式中,广播接收器和广播类型之间的对应关系还可以保存在其他模块中。在这种情况下,AMS可以基于该对应关系的存储地址来获取该对应关系。
在本申请的一些实施例中,第一对应关系,具体可以包括:广播接收器与广播之间的对应关系。具体地,广播接收器与广播之间的对应关系可以指:广播接收器与具体的一个或多个广播之间的对应关系。在这种情况下,AMS可以获取在AMS中注册的广播接收器和广播之间的对应关系,并基于该对应关系来查找对应的广播为广播_1的广播接收器,该广播接收器即为目标广播接收器。也就是说,目标广播接收器对应的具体的广播为广播_1。
可理解,不同广播接收器对应的广播可以相同,也可以不同。在本申请的一些实施例中,一个广播接收器可以对应一个或多个具体的广播。
示例性的,如表2所示,广播接收器receiver1对应的广播为广播_1,广播接收器receiver2对应的广播为广播_2,广播接收器receiver3对应的广播为广播_1,广播接收器receiver4对应的广播为广播_3和广播_4,广播接收器receiver5对应的广播为广播_2和广播_3。在这种情况下,AMS可以查找确定广播_1对应的广播接收器,比如表2所示的receiver1和receiver3,则AMS可以确定目标广播接收器包括receiver1和receiver3。
表2
类似的,在一种可能的实现方式中,AMS中可以保存有广播接收器和广播之间的对应关系。具体地,广播接收器在AMS中注册的过程中,AMS可以记录注册的广播接收器所对应接收的广播。在又一种可能的实现方式中,广播接收器和广播之间的对应关系还可以保存在其他模块中。在这种情况下,AMS可以基于该对应关系的存储地址来获取该对应关系。
在本申请的一些实施例中,AMS可以获取广播接收器和所属进程之间的对应关系,并基于该对应关系来查找目标广播接收器所属的进程,从而确定目标进程。
可理解,广播接收器所属的进程指的是注册广播接收器的进程,即发起广播接收器注册的进程。可理解,不同广播接收器所属的进程可以相同,也可以不同。一个广播接收器可以对应一个进程,即一个广播接收器属于一个进程。
示例性的,如表3所示,广播接收器receiver1对应的进程为进程_1,即receiver1所属的进程为进程_1,广播接收器receiver2对应的进程为进程_1,即receiver2所属的进程为进程_1,广播接收器receiver3对应的进程为进程_2,即receiver3所属的进程为进程_2,广播接收器receiver4对应的进程为进程_3,即receiver4所属的进程为进程_3,广播接收器receiver5对应的进程为进程_2,即receiver5所属的进程为进程_2。在这种情况下,若目标广播接收器包括receiver1和receiver3,则AMS可以查找receiver1和receiver3对应的进程。如表3所示,receiver1对应的进程为进程_1,receiver3对应的进程为进程_2,则AMS可以确定目标进程包括进程_1和进程_2。
表3
在本申请的一些实施例中,发起广播接收器注册的进程也可以理解为发起广播接收器注册的主体所在的进程。在一种可能的实现方式中,广播接收器所属的进程为注册该广播接收器的应用程序对应的进程(即应用程序进程)。
示例性的,如表4所示,广播接收器receiver1对应的应用程序为应用_1,即receiver1由应用_1发起注册,广播接收器receiver2对应的应用程序为应用_1,即receiver2由应用_1发起注册,广播接收器receiver3对应的应用程序为应用_2,即receiver3由应用_2发起注册,广播接收器receiver4对应的应用程序为应用_3,即receiver4由应用_3发起注册,广播接收器receiver5对应的应用程序为应用_2,即receiver5由应用_2发起注册。而应用_1对应的进程为进程_1,应用_2对应的进程为进程_2,应用_3对应的进程为进程_3。在这种情况下,若目标广播接收器包括receiver1和receiver3,则AMS可以查找receiver1和receiver3对应的进程。可理解,receiver1和receiver3对应的进程即为注册receiver1和receiver3的应用程序所对应的进程。如表4所示,receiver1对应的应用程序为应用_1,应用_1对应的进程为进程_1,receiver3对应的应用程序为应用_2,应用_2对应进程为进程_2,则AMS可以确定目标进程包括进程_1和进程_2。
表4
可理解,广播接收器可以由应用程序、应用程序中的具体组件等发起注册,并在AMS中进行注册。可理解,发起广播接收器注册的主体还可以为其他模块,具体可以参考相关技术文档,本申请对此不作限制。
在一种可能的实现方式中,AMS中可以保存有广播接收器和所属进程之间的对应关系。具体地,广播接收器在AMS中注册的过程中,AMS可以记录发起广播接收器注册的进程。该发起广播接收器注册的进程即为该注册的广播接收器所属的进程。
在一种可能的实现方式中,广播接收器和所属进程之间的对应关系还可以保存在其他模块中。在这种情况下,AMS可以基于该对应关系的存储地址来获取该对应关系。
在本申请的一些实施例中,AMS可以基于广播接收器在AMS中注册时所携带的binder服务端地址来确定广播接收器和所属进程之间的对应关系。可理解,广播接收器在AMS中注册时所携带的binder服务端地址包含有进程信息。该进程信息可以用于表示广播接收器所属的进程。
S303:AMS针对属于同一目标进程的目标广播接收器进行汇聚,确定第一类目标进程和第二类目标进程,得到第一类目标进程对应的目标广播接收器信息。第一类目标进程为对应有多个目标广播接收器的目标进程。第二类目标进程为仅对应有一个目标广播接收器的目标进程。
AMS确定目标广播接收器和目标进程之后,可以针对属于同一目标进程的目标广播接收器进行汇聚,即确定每一个目标进程中的目标广播接收器。也就是说,AMS可以确定有哪些目标广播接收器所属的进程是同一目标进程。进一步的,AMS可以确定对应有多个目标广播接收器的目标进程(即第一类目标进程),以及仅对应有一个目标广播接收器的目标进程(即第二类目标进程)。AMS还可以确定对应有多个目标广播接收器的目标进程所对应的目标广播接收器信息,即第一类目标进程对应的目标广播接收器信息。可理解,目标广播接收器信息为目标进程中的目标广播接收器的相关信息。目标广播接收器信息可以用于指明目标广播接收器。也就是说,目标进程对应的目标广播接收器信息可以用于表示该目标进程中的目标广播接收器。
示例性的,如图4所示,AMS可以基于广播发送者发送的广播_1确定receiver 1、receiver2、receiver 3、receiver4、receiver 5和receiver 6为目标广播接收器。其中,receiver 1所属的进程为进程_1,receiver2所属的进程为进程_2,receiver 3所属的进程为进程_1,receiver4所属的进程为进程_3,receiver 5所属的进程为进程_3,receiver 6所属的进程为进程_3。这也就意味着,目标进程包括进程_1、进程_2和进程_3。AMS可以针对同一目标进程的目标广播接收器进行汇聚,从而确定进程_1对应的目标广播接收器为receiver1和receiver3,进程_2对应的目标广播接收器为receiver2,以及进程_3对应的目标广播接收器为receiver4、receiver 5和receiver 6。由于进程_1和进程_3都对应有多个目标广播接收器,而进程_2仅对应有一个目标广播接收器,因此,AMS可以确定进程_1和进程_3为第一类目标进程,进程_2为第二类目标进程。进一步的,AMS可以确定进程_1对应的目标广播接收器信息,以及进程_3对应的目标广播接收器信息。
可理解,目标广播接收器信息可以为目标广播接收器的标识,还可以为目标广播接收器的注册名称,本申请对此不作限制。可理解,目标广播接收器信息可以具体为列表、集合等,本申请对其具体形式不作限制。
示例性的,目标进程包括进程_1、进程_2和进程_3。其中,进程_1对应的目标广播接收器为receiver1和receiver3,进程_2对应的目标广播接收器为receiver2,进程_3对应的目标广播接收器为receiver4、receiver5和receiver6。也就是说,目标广播接收器receiver1和receiver3所属的进程为进程_1,目标广播接收器receiver2所属的进程为进程_2,目标广播接收器receiver4、receiver5和receiver6所属的进程为进程_3。进程_1和进程_3对应的目标广播接收器信息分别为目标广播接收器信息_1和目标广播接收器信息_3。可理解,目标广播接收器信息_1包括receiver1和receiver3的相关信息,目标广播接收器信息_3包括receiver4、receiver5和receiver6的相关信息。
在一种可能的实现方式中,如图4和表5所示,目标广播接收器信息_1为进程_1对应的目标广播接收器列表,该目标广播接收器列表包括进程_1中的目标广播接收器的注册名称,即receiver1、receiver 3。类似的,目标广播接收器信息_3为进程_3对应的目标广播接收器列表,该目标广播接收器列表包括进程_3中的目标广播接收器的注册名称,即receiver4、receiver 5和receiver6。
表5
可理解,目标广播接收器列表还可以包括其对应的目标进程中的目标广播接收器的标识,该标识可以具体为数字、字符串等形式,本申请对此不作限制。
在又一种可能的实现方式中,如表6所示,目标广播接收器信息_1为进程_1对应的目标广播接收器集合,该目标广播接收器集合包括进程_1中的目标广播接收器的注册名称,即receiver1、receiver 3。类似的,目标广播接收器信息_3为进程_3对应的目标广播接收器集合,该目标广播接收器集合包括进程_3中的目标广播接收器的注册名称,即receiver4、receiver 5和receiver6。
表6
可理解,目标广播接收器集合还可以包括其对应的目标进程中的目标广播接收器的标识,该标识可以具体为数字、字符串等形式,本申请对此不作限制。
S304:针对每一个第一类目标进程,AMS向其发送广播_1和其对应的目标广播接收器信息。
AMS可以向每一个第一类目标进程发送广播_1,以及其对应的目标广播接收器信息。可理解,在第一类目标进程有多个的情况下,本申请对AMS向该多个第一类目标进程发送相应信息(广播_1和第一类目标进程对应的目标广播接收器信息)的顺序不作限制。
示例性的,receiver 1、receiver 3、receiver4、receiver 5和receiver 6为目标广播接收器。receiver 1和receiver 3所属的进程为进程_1,receiver4、receiver 5和receiver 6所属的进程为进程_3。则进程_1和进程_3为第一类目标进程。AMS可以向进程_1发送广播_1,以及进程_1对应的目标广播接收器信息(即目标广播接收器信息_1)。类似的,AMS可以向进程_3发送广播_1,以及进程_3对应的目标广播接收器信息(即目标广播接收器信息_3)。可理解,本申请对AMS向进程_1和进程_3发送相应信息的顺序不作限制。
可理解,AMS可以基于新增接口来向每一个第一类目标进程发送广播_1和其对应的目标广播接收器信息。可理解,新增接口是用于发送广播和目标广播接收器信息的接口。在本申请的一些实施例中,新增接口可以为自定义接口,本申请对其具体形式不作限制。在本申请的一些实施例中,该新增接口可以为batchscheduleRegisteredReceiver。
在本申请的一些实施例中,AMS可以通过广播分发器来向第一类目标进程发送广播_1和该第一类目标进程对应的目标广播接收器信息。AMS中的广播分发器可以用于将广播分发至各目标进程。该分发过程是跨进程通信。广播分发器可以为软件模块。
示例性的,如图5所示,AMS可以通过广播分发器来将广播_1和目标广播接收器信息_1发送给进程_1,以及通过广播分发器来将广播_1和目标广播接收器信息_3发送给进程_3。可理解,上述发送均基于binder机制实现。
相应的,第一类目标进程可以接收AMS发送的广播_1和该第一类目标进程对应的目标广播接收器信息。
S305:第一类目标进程基于其对应的目标广播接收器信息确定该第一类目标进程中的目标广播接收器,将广播_1发送给该第一类目标进程中的每一个目标广播接收器。
第一类目标进程接收AMS发送的广播_1,以及该第一类目标进程对应的目标广播接收器信息之后,可以基于其对应的目标广播接收器信息确定该第一类目标进程中的目标广播接收器,并将广播_1发送给该第一类目标进程中的每一个目标广播接收器。
可理解,本申请对第一类目标进程向其中的目标广播接收器发送广播_1的先后顺序不作限制。在本申请的一些实施例中,目标广播接收器信息的具体形式为列表。在这种情况下,第一类目标进程可以按照列表所示的目标广播接收器的先后顺序来向相应的目标广播接收器发送广播_1。当然,第一类目标进程也可以不按照列表所示的目标广播接收器的先后顺序来向相应的目标广播接收器发送广播_1,只要最终能遍历该列表即可。
示例性的,进程_1接收AMS发送的广播_1和目标广播接收器信息_1之后,可以确定目标广播接收器信息_1中包含的广播接收器的注册名称,即receiver1和receiver 3,从而确定进程_1中的目标广播接收器为receiver1和receiver 3。进程_1可以将广播_1分别发送给receiver1和receiver 3。类似的,进程_3接收AMS发送的广播_1和目标广播接收器信息_3之后,可以确定目标广播接收器信息_3中包含的广播接收器的注册名称,即receiver4、receiver 5和receiver6,从而确定进程_3中的目标广播接收器为receiver4、receiver 5和receiver6。进程_3可以将广播_1分别发送给receiver4、receiver 5和receiver6。
可理解,本申请对进程_1向receiver1和receiver 3发送广播_1的顺序不作限制,对进程_3向receiver4、receiver 5和receiver6发送广播_1的顺序不作限制。在本申请的一些实施例中,目标广播接收器信息_1的具体形式为列表。在这种情况下,进程_1可以按照列表顺序来向receiver1和receiver 3发送广播_1。如表5所示,目标广播接收器信息_1的列表顺序由上到下为receiver1和receiver 3。也就是说,进程_1可以首先向receiver1发送广播_1,再向receiver 3发送广播_1。类似的,目标广播接收器信息_3的具体形式也可以为列表,本申请对此不作限制。
在本申请的一些实施例中,第一类目标进程可以通过广播分发器来将广播_1发送给该第一类目标进程中的每一个目标广播接收器。可理解,第一类目标进程中的广播分发器可以用于将广播分发至进程中的各目标广播接收器。该分发过程是在同一进程内进行的,并非是跨进程通信。广播分发器可以为软件模块。
示例性的,如图6所示,AMS针对同一目标进程的目标广播接收器(即receiver 1、receiver2、receiver 3、receiver4、receiver 5和receiver 6)进行汇聚之后,确定进程_1和进程_3均对应有多个目标广播接收器,进程_2仅对应有一个目标广播接收器。AMS可以得到目标广播接收器信息_1和目标广播接收器信息_3。其中,目标广播接收器信息_1为进程_1对应的目标广播接收器信息。目标广播接收器信息_3为进程_3对应的目标广播接收器信息。AMS可以基于binder机制将广播_1和目标广播接收器信息_1发送给进程_1,进程_1中的广播分发器可以接收该广播_1和目标广播接收器信息_1,基于目标广播接收器信息_1确定进程_1中的目标广播接收器为receiver1和receiver3,并将广播_1分别发送给receiver1和receiver3。类似的,AMS可以基于binder机制将广播_1和目标广播接收器信息_3发送给进程_3,进程_3中的广播分发器可以接收该广播_1和目标广播接收器信息_3,基于目标广播接收器信息_3确定进程_3中的目标广播接收器为receiver4、receiver5和receiver6,并将广播_1分别发送给receiver4、receiver5和receiver6。另外,AMS还可以基于binder机制将广播_1发送给receiver2。
相应的,第一类目标进程中的每一个目标广播接收器都可以接收该第一类目标进程发送的广播_1。
S306:AMS向每一个第二类目标进程中的目标广播接收器发送广播_1。
AMS可以直接向每一个第二类目标进程中的目标广播接收器发送广播_1,无需先将广播_1发送给第二类目标进程,而是直接发送给相应的目标广播接收器即可。
可理解,AMS可以基于原生接口来向每一个第二类目标进程中的目标广播接收器发送广播_1。在本申请的一些实施例中,该原生接口可以为scheduleRegisteredReceiver。
在本申请的一些实施例中,AMS可以通过广播分发器来向第二类目标进程发送广播_1。
示例性的,如图5所示,AMS可以通过广播分发器来将广播_1发送给receiver2。可理解,该发送基于binder机制实现。
在本申请的一些实施例中,AMS可以通过广播分发器来向第一类目标进程发送广播_1和该第一类目标进程对应的目标广播接收器信息,以及通过广播分发器来向第二类目标进程发送广播_1,并且,第一类目标进程也可以通过广播分发器来将广播_1发送给该第一类目标进程中的每一个目标广播接收器。
示例性的,如图7所示,AMS可以通过广播分发器来将广播_1和目标广播接收器信息_1发送给进程_1,通过广播分发器来向第二类目标进程发送广播_1,以及通过广播分发器来将广播_1和目标广播接收器信息_3发送给进程_3。可理解,上述发送均基于binder机制实现。进程_1中的广播分发器可以将广播_1分别发送给receiver1和receiver3。进程_3中的广播分发器可以将广播_1分别发送给receiver4、receiver5和receiver6。
示例性的,如图8所示,AMS接收广播发送者基于binder机制发送的广播G1之后,可以确定广播G1对应的广播接收器包括receiver1、receiver2、receiver3、receiver4、receiver5、receiver6、receiver7和receiver8。也就是说,目标广播接收器包括receiver1、receiver2、receiver3、receiver4、receiver5、receiver6、receiver7和receiver8。其中,receiver1、receiver2、receiver3和receiver4为应用程序A注册的广播接收器,应用程序A对应的进程为进程a_1。receiver5、receiver6、receiver7和receiver8为应用程序B注册的广播接收器,应用程序B对应的进程为进程b_1。AMS可以针对同一目标进程的目标广播接收器进行汇聚,从而得到进程a_1对应的目标广播接收器信息和进程b_1对应的目标广播接收器信息。可理解,进程a_1对应的目标广播接收器信息包括receiver1、receiver2、receiver3和receiver4的相关信息,进程b_1对应的目标广播接收器信息包括receiver5、receiver6、receiver7和receiver8的相关信息。基于binder机制,AMS可以通过广播分发器将广播G1和进程a_1对应的目标广播接收器信息发送给进程a_1,以及通过广播分发器将广播G1和进程b_1对应的目标广播接收器信息发送给进程b_1。进程a_1中的广播分发器可以基于进程a_1对应的目标广播接收器信息确定进程a_1中的目标广播接收器包括receiver1、receiver2、receiver3和receiver4,并将广播G1分别发送给receiver1、receiver2、receiver3和receiver4。类似的,进程b_1中的广播分发器可以基于进程b_1对应的目标广播接收器信息确定进程b_1中的目标广播接收器包括receiver5、receiver6、receiver7和receiver8,并将广播G1分别发送给receiver5、receiver6、receiver7和receiver8。
相应的,第二类目标进程中的目标广播接收器可以接收AMS发送的广播_1。
可理解,在本申请的一些实施例中,目标进程仅包括第一类目标进程。在这种情况下,电子设备无需执行步骤S306。在本申请的一些实施例中,目标进程仅包括第二类目标进程。在这种情况下,电子设备无需执行步骤S304和步骤S305。
在本申请的一些实施例中,目标进程包括第一类目标进程和第二类目标进程。在这种情况下,本申请对电子设备执行步骤S304和步骤S306的先后顺序不作限制。
可理解,在目标进程包括一个或多个第一类目标进程,以及一个或多个第二类目标进程的情况下,AMS可以向一个或多个第一类目标进程发送相应信息(即广播_1和对应的目标广播接收器信息)之后,再向一个或多个第二类目标进程中的目标广播接收器发送广播_1,也可以在向一个或多个第二类目标进程中的目标广播接收器发送广播_1之后,再向一个或多个第一类目标进程发送相应信息,本申请对AMS向第一类目标进程发送广播_1和对应的目标广播接收器信息,以及AMS向第二类目标进程中的目标广播接收器发送广播_1的顺序不作限制。这也就意味着,电子设备执行步骤S304和步骤S305的顺序不作限制。
示例性的,目标进程包括进程_1、进程_2和进程_3。其中,进程_1对应的目标广播接收器为receiver1和receiver3,进程_2对应的目标广播接收器为receiver2,进程_3对应的目标广播接收器为receiver4、receiver5和receiver6。也就是说,目标广播接收器receiver1和receiver3所属的进程为进程_1,目标广播接收器receiver2所属的进程为进程_2,目标广播接收器receiver4、receiver5和receiver6所属的进程为进程_3。进程_1和进程_3对应的目标广播接收器信息分别为目标广播接收器信息_1和目标广播接收器信息_3。在一种可能的实现方式中,AMS可以向进程_1发送目标广播接收器信息_1和广播_1,再向receiver2发送广播_1,再向进程_3发送目标广播接收器信息_3和广播_1。在又一种可能的实现方式中,AMS可以向进程_1发送目标广播接收器信息_1和广播_1,再向进程_3发送目标广播接收器信息_3和广播_1,再向receiver2发送广播_1。在又一种可能的实现方式中,AMS可以向receiver2发送广播_1,再向进程_1发送目标广播接收器信息_1和广播_1,再向进程_3发送目标广播接收器信息_3和广播_1。在又一种可能的实现方式中,AMS可以向receiver2发送广播_1,再向进程_3发送目标广播接收器信息_3和广播_1,再向进程_1发送目标广播接收器信息_1和广播_1。在又一种可能的实现方式中,AMS可以向进程_3发送目标广播接收器信息_3和广播_1,再向进程_1发送目标广播接收器信息_1和广播_1,再向receiver2发送广播_1。在又一种可能的实现方式中,AMS可以向进程_3发送目标广播接收器信息_3和广播_1,再向receiver2发送广播_1,再向进程_1发送目标广播接收器信息_1和广播_1。
在本申请的一些实施例中,如图3B所示,电子设备执行步骤S301和步骤S302之后,还可以执行步骤S307-步骤S311。步骤S307-步骤S311如下:
S307:AMS针对属于同一目标进程的目标广播接收器进行汇聚,并确定每一个目标进程是对应有多个目标广播接收器,还是对应有一个目标广播接收器。
S308:AMS确定该目标进程对应的目标广播接收器信息。
S309:AMS向目标进程发送广播_1和其对应的目标广播接收器信息。
S310:目标进程基于其对应的目标广播接收器信息确定该目标进程中的目标广播接收器,将广播_1发送给该目标进程中的每一个目标广播接收器。
S311:AMS向目标进程中的目标广播接收器发送广播_1。
可理解,在目标进程对应有多个目标接收器的情况下,电子设备可以执行步骤S308-步骤S310,而在目标进程对应有一个目标广播接收器的情况下,电子设备可以执行步骤S311。
根据步骤S307-步骤S311,AMS执行步骤S301和步骤S302之后,还可以针对属于同一目标进程的目标广播接收器进行汇聚,并确定每一个目标进程是对应有多个目标广播接收器,还是对应有一个目标广播接收器。在目标进程对应有多个目标广播接收器的情况下,AMS可以确定该目标进程对应的目标广播接收器信息,并向该目标进程发送广播_1和其对应的目标广播接收器信息。该目标进程接收广播_1和其对应的目标广播接收器信息之后,可以基于其对应的目标广播接收器信息确定该目标进程中的目标广播接收器,并将广播_1发送给该目标进程中的每一个目标广播接收器。而在目标进程对应有一个目标广播接收器的情况下,AMS可以向该目标进程中的目标广播接收器发送广播_1。
可理解,图3B的相关描述可以上文对图3A的相关描述,在此不再赘述。
下面介绍本申请实施例提供的又一种广播分发方法。
电子设备中的广播发送者可以向电子设备中的AMS发送广播。相应的,AMS可以接收该广播发送者发送的广播。AMS接收该广播之后,可以确定目标广播接收器。该广播的类型与目标广播接收器对应接收的广播的类型一样。AMS可以确定目标广播接收器所属的进程,即目标进程,并确定属于同一目标进程的目标广播接收器,从而得到每一个目标进程对应的目标广播接收器信息。AMS可以将其接收的广播,以及目标进程对应的目标广播接收器信息发送给该目标进程。该目标进程接收该广播和其对应的目标广播接收器信息之后,可以基于其对应的目标广播接收器信息确定其对应的目标广播接收器,并将该广播发送给其对应的目标广播接收器。
具体地,请参阅图9,图9为本申请实施例提供的又一种广播分发方法的流程图。该广播分发方法可以包括但不限于如下步骤:
S901:AMS接收广播发送者发送的广播_1。
S902:AMS基于广播_1,以及广播接收器与广播之间的对应关系确定目标广播接收器和目标进程。目标广播接收器为广播_1对应的广播接收器。目标进程为目标广播接收器所属的进程。目标进程与目标广播接收器之间的对应关系为一对一的对应关系,或者一对多的对应关系。
可理解,步骤S901和步骤S902的具体实现方式可以参考上述步骤S301和步骤S302的相关描述,在此不再赘述。
S903:AMS针对属于同一目标进程的目标广播接收器进行汇聚,得到每一个目标进程对应的目标广播接收器信息。目标进程对应的目标广播接收器信息为该目标进程中的目标广播接收器的相关信息。
AMS确定目标广播接收器和目标广播接收器所属的进程(即目标进程)之后,可以针对属于同一进程的目标广播接收器进行汇聚,即确定每一个目标进程中的目标广播接收器。也就是说,AMS可以确定有哪些目标广播接收器所属的进程是同一目标进程。相应的,AMS确定每一个目标进程中的目标广播接收器之后,可以得到每一个目标进程所对应的目标广播接收器信息。
示例性的,receiver 1、receiver2和receiver 3为目标广播接收器,receiver1和receiver3所属的进程为进程_1,receiver2所属的进程为进程_2,则进程_1和进程_2为目标进程。在这种情况下,进程_1对应的目标广播接收器信息可以为receiver1和receiver3的相关信息,进程_1对应的目标广播接收器信息可以用于表示receiver1和receiver3。而进程_2对应的目标广播接收器信息可以为receiver2的相关信息,进程_2对应的目标广播接收器信息可以用于表示receiver2。
根据上文,目标广播接收器信息可以为目标广播接收器的标识,还可以为目标广播接收器的注册名称,本申请对此不作限制。并且,目标广播接收器信息可以具体为列表、集合等,本申请对其具体形式不作限制。
示例性的,目标进程包括进程_1、进程_2和进程_3。其中,进程_1对应的目标广播接收器包括receiver1和receiver3,进程_2对应的目标广播接收器包括receiver2,进程_3对应的目标广播接收器包括receiver4、receiver5和receiver6。也就是说,目标广播接收器receiver1和receiver3所属的进程为进程_1,目标广播接收器receiver2所属的进程为进程_2,目标广播接收器receiver4、receiver5和receiver6所属的进程为进程_3。进程_1、进程_2和进程_3对应的目标广播接收器信息分别为目标广播接收器信息_1、目标广播接收器信息_2和目标广播接收器信息_3。可理解,目标广播接收器信息_1包括receiver1和receiver3的相关信息,目标广播接收器信息_2包括receiver2的相关信息,目标广播接收器信息_3包括receiver4、receiver5和receiver6的相关信息。
在一种可能的实现方式中,如表7所示,目标广播接收器信息_1为进程_1对应的目标广播接收器列表,该目标广播接收器列表包括进程_1中的目标广播接收器的注册名称,即receiver1、receiver 3。类似的,目标广播接收器信息_2为进程_2对应的目标广播接收器列表,该目标广播接收器列表包括进程_2中的目标广播接收器的注册名称,即receiver2。类似的,目标广播接收器信息_3为进程_3对应的目标广播接收器列表,该目标广播接收器列表包括进程_3中的目标广播接收器的注册名称,即receiver4、receiver 5和receiver6。
表7
可理解,目标广播接收器列表还可以包括其对应的目标进程中的目标广播接收器的标识,该标识可以具体为数字、字符串等形式,本申请对此不作限制。
在又一种可能的实现方式中,如表8所示,目标广播接收器信息_1为进程_1对应的目标广播接收器集合,该目标广播接收器集合包括进程_1中的目标广播接收器的注册名称,即receiver1、receiver 3。类似的,目标广播接收器信息_2为进程_2对应的目标广播接收器集合,该目标广播接收器集合包括进程_2中的目标广播接收器的注册名称,即receiver2。类似的,目标广播接收器信息_3为进程_3对应的目标广播接收器集合,该目标广播接收器集合包括进程_3中的目标广播接收器的注册名称,即receiver4、receiver 5和receiver6。
表8
可理解,目标广播接收器集合还可以包括其对应的目标进程中的目标广播接收器的标识,该标识可以具体为数字、字符串等形式,本申请对此不作限制。
S904:AMS向每一个目标进程发送广播_1和其对应的目标广播接收器信息。
针对每一个目标进程,AMS都可以向其发送广播_1和其对应的目标广播接收器信息。
示例性的,目标进程包括进程_1、进程_2和进程_3。进程_1、进程_2和进程_3对应的目标广播接收器信息分别为目标广播接收器信息_1、目标广播接收器信息_2和目标广播接收器信息_3。AMS可以将广播_1和目标广播接收器信息_1发送给进程_1。类似的,AMS可以将广播_1和目标广播接收器信息_2发送给进程_2。类似的,AMS可以将广播_1和目标广播接收器信息_1发送给进程_1。
可理解,本申请对AMS向不同目标进程发送相应信息(即广播_1和目标进程对应的目标广播接收器信息)的顺序不作限制。
相应的,目标进程可以接收AMS发送的广播_1和该目标进程对应的目标广播接收器信息。
S905:目标进程基于对应的目标广播接收器信息确定该目标进程中的目标广播接收器,将广播_1发送给目标进程中的每一个目标广播接收器。
可理解,针对任意一个目标进程而言,该目标进程接收AMS发送的广播_1和该目标进程对应的目标广播接收器信息之后,可以基于该目标进程对应的目标广播接收器信息确定该目标进程中的目标广播接收器,并将广播_1发送给该目标进程中的每一个目标广播接收器。
示例性的,进程_1接收AMS发送的广播_1和目标广播接收器信息_1之后,可以确定目标广播接收器信息_1中包含的广播接收器的注册名称,即receiver1和receiver 3,从而确定进程_1中的目标广播接收器即为receiver1和receiver 3。进程_1可以将广播_1分别发送给receiver1和receiver 3。类似的,进程_2接收AMS发送的广播_1和目标广播接收器信息_2之后,可以确定目标广播接收器信息_2中包含的广播接收器的注册名称,即receiver2,从而确定进程_1中的目标广播接收器即为receiver2。进程_2可以将广播_1发送给receiver2。类似的,进程_3接收AMS发送的广播_1和目标广播接收器信息_3之后,可以确定目标广播接收器信息_3中包含的广播接收器的注册名称,即receiver4、receiver 5和receiver6,从而确定进程_3中的目标广播接收器即为receiver4、receiver 5和receiver6。进程_3可以将广播_1分别发送给receiver4、receiver 5和receiver6。
可理解,在目标进程对应有多个目标广播接收器的情况下,本申请对目标进程向其中的多个目标广播接收器发送广播_1的顺序不作限制。在本申请的一些实施例中,目标进程可以基于目标广播接收器列表所示的目标广播接收器的顺序来向该目标进程中的目标广播接收器发送广播_1。
下面介绍本申请实施例提供的又一种广播分发方法。
请参阅图10,图10为本申请实施例提供的又一种广播分发方法的流程图。该广播分发方法可以包括但不限于如下步骤:
S1001:电子设备通过AMS接收广播发送者发送的第一广播。
电子设备通过电子设备中的广播发送者向电子设备中的AMS发送第一广播。相应的,电子设备通过AMS可以接收该广播发送者发送的第一广播。
在本申请的一些实施例中,第一广播可以为上文所提及的广播_1。在本申请的一些实施例中,第一广播可以为上文所提及的广播G1。
S1002:电子设备通过AMS基于第一对应关系和第一广播确定目标广播接收器和目标进程。其中,目标进程为目标广播接收器所属的进程。
电子设备通过AMS接收广播发送者发送的第一广播之后,可以通过AMS基于第一对应关系和第一广播确定目标广播接收器和目标进程。其中,目标广播接收器为用于接收第一广播的广播接收器。目标进程为目标广播接收器所属的进程。可理解,第一对应关系、目标广播接收器和目标进程的相关描述可以参考上文,在此不再赘述。
可理解,电子设备执行步骤S1002之前,目标广播接收器可以在AMS中注册。广播接收器注册的具体实现方式可以参考相关技术文档,在此不再赘述。
S1003:在目标进程中的第一进程中存在多个目标广播接收器的情况下,电子设备通过AMS向第一进程发送第一广播和第一目标广播接收器信息,并通过第一进程基于第一目标广播接收器信息来将第一广播分别发送给第一进程中的多个目标广播接收器。其中,第一目标广播接收器信息包括第一进程中的多个目标广播接收器的相关信息。
可理解,电子设备通过AMS确定的目标进程可能有一个或多个。电子设备通过AMS确定的目标进程可以包括第一进程。在第一进程中存在多个目标广播接收器(即第一进程对应有多个目标广播接收器)的情况下,电子设备可以通过AMS确定第一目标广播接收器信息,向第一进程发送第一广播和第一目标广播接收器信息,并在第一进程接收第一广播和第一目标广播接收器信息之后,通过第一进程基于第一目标广播接收器信息确定第一进程中的多个目标广播接收器,以及通过第一进程将第一广播分别发送给第一进程中的每一个目标广播接收器。
在本申请的一些实施例中,在第一进程中仅存在一个目标广播接收器(即第一进程对应有一个目标广播接收器)的情况下,电子设备可以通过AMS向第一进程中的该一个目标广播接收器发送第一广播(如图3A和图3B所示)。在这种情况下,AMS可以基于原生接口实现对第一广播的发送。即AMS可以基于原生接口来将第一广播发送给第一进程中的该一个目标广播接收器。可理解,广播机制中的原生接口的相关描述可以参考上文和相关技术文档,在此不再赘述。
在本申请的一些实施例中,无论第一进程中存在一个目标广播接收器,还是存在多个目标广播接收器,电子设备都可以通过AMS向第一进程发送第一广播和第一目标广播接收器信息,并在第一进程接收第一广播和第一目标广播接收器信息之后,通过第一进程基于第一目标广播接收器信息确定第一进程中的多个目标广播接收器,以及通过第一进程将第一广播分别发送给第一进程中的每一个目标广播接收器(如图9所示)。在这种情况下,AMS可以基于新增接口实现对第一广播和第一目标广播接收器信息的发送。即AMS可以基于新增接口来将第一广播和第一目标广播接收器信息发送给第一进程。可理解,新增接口的相关描述可以参考上文,在此不再赘述。
需要说明的是,AMS和第一进程不属于同一进程。电子设备通过AMS向第一进程,或者第一进程中的一个目标广播接收器发送相应信息(例如,第一广播)的过程为跨进程通信(即进程间通信)。该跨进程通信可以基于binder机制进行,具体可以参考上文,在此不再赘述。而电子设备通过第一进程向第一进程中的目标广播接收器发送第一广播的过程为进程内通信。
可理解,第一目标广播接收器为第一进程对应的目标广播接收器信息。在本申请的一些实施例中,第一进程可以为进程_1,第一目标广播接收器信息为目标广播接收器信息_1。在本申请的一些实施例中,第一进程可以为进程_2,第一目标广播接收器信息为目标广播接收器信息_2。第一进程可以为进程_3,第一目标广播接收器信息为目标广播接收器信息_3。
可理解,第一目标广播接收器信息可以为列表、集合等形式,并且,第一目标广播接收器信息可以包括第一进程中的目标广播接收器的注册名称、标识等,具体可以参考上文。
下面介绍本申请实施例涉及的装置。
图11为本申请实施例提供的一种电子设备的硬件结构示意图。
如图11所示,电子设备可以包括处理器、外部存储器接口、内部存储器、音频模块、扬声器、受话器、麦克风、耳机接口、显示屏。
本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请的一些实施例中,电子设备可以包括比图示更多的部件。例如,电子设备可以包括触摸传感器、加速度传感器和陀螺仪传感器等传感器。在本申请的一些实施例中,电子设备可以包括比图示更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。
处理器可以包括一个或多个处理单元。例如,处理器可以包括应用处理器(Application Processor,AP),调制解调处理器,图形处理器(Graphics ProcessingUnit,GPU),图像信号处理器(Image Signal Processor,ISP),控制器,视频编解码器,数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。处理器中还可以设置存储器,用于存储指令和数据。
电子设备可以通过GPU、显示屏和应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。显示屏用于显示图像,视频等。在本申请的一些实施例中,电子设备可以包括1个或多个显示屏。
在本申请中,电子设备显示用户界面的能力,依赖于上述GPU、显示屏和应用处理器提供的显示功能。
内部存储器可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器通过运行存储在内部存储器的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(例如,声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(例如,音频数据,电话本等)等。
可理解,内部存储器可以包括一个或多个随机存取存储器(Random AccessMemory,RAM)和一个或多个非易失性存储器(Non-Volatile Memory,NVM)。例如,至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。随机存取存储器可以由处理器直接进行读写,可以用于存储操作***或其他正在运行中的程序的可执行程序(例如,机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器直接进行读写。
在本申请中,实现本申请实施例所述的广播分发方法的代码可存储在非易失性存储器上。在实现该方法时,电子设备可将非易失性存储器中存储的可执行代码加载到随机存取存储器。
外部存储器接口可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡可以通过外部存储器接口与处理器通信,实现数据存储功能。例如,将音乐,视频等文件保存在外部存储卡中。
电子设备可以通过音频模块、扬声器、受话器、麦克风、耳机接口,以及应用处理器等实现音频功能。
音频模块用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器,也称“喇叭”,用于将音频电信号转换为声音信号。受话器,也称“听筒”,用于将音频电信号转换成声音信号。麦克风,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口用于连接有线耳机。
显示屏用于显示图像、视频等。在本申请的一些实施例中,电子设备可以包括1个或多个显示屏。电子设备可以通过图形处理器、显示屏和应用处理器等实现显示功能。
图12为本申请实施例提供的一种电子设备的软件结构示意图。
如图12所示,电子设备的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)***为例,示例性说明电子设备的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,电子设备的软件框架可以包括应用程序层、应用程序框架层、***库、运行时(Runtime)、硬件抽象层(HAL)和内核层。
应用程序层可以包括一系列应用程序包。例如,应用程序包可以包括相机、图库、设置、通话、地图、导航、WLAN、蓝牙、音乐、视频和短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层可以包括一系列***服务。***服务是专注于特定功能的模块化组件。应用框架API所提供的功能可与***服务通信,以访问底层硬件。例如,应用程序框架层可以包括窗口管理器、内容提供器、视图***、电话管理器、资源管理器和通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以快速停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
***库可以包括多个功能模块。例如:表面管理器(Surface Manager),媒体库(Media Libraries),三维图形处理库(例如,OpenGL ES),二维图形引擎(例如,SGL)等。这些功能模块的具体含义和作用可以参考相关技术文档,在此不展开说明。这些功能模块的具体含义和作用可以参考相关技术文档,在此不展开说明。
运行时(Runtime)负责***的调度和管理。Runtime包括核心库和虚拟机。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
硬件抽象层(HAL)是位于操作***内核与上层软件之间的接口层,其目的在于将硬件抽象化。硬件抽象层是设备内核驱动的抽象接口,用于实现向更高级别的Java API框架提供访问底层设备的应用编程接口。HAL可以提供标准界面,向更高级别的Java API 框架显示设备硬件功能。HAL包含多个库模块,例如相机HAL、音频HAL等。其中每个库模块都为特定类型的硬件组件实现一个界面。为当***框架层API要求访问便携设备的硬件时,操作***将为该硬件组件加载库模块。
内核层是硬件和软件之间的层。内核层是Android操作***的基础。内核层负责硬件的驱动程序、网络、电源、***安全以及内存管理等功能。内核层是硬件与软件之间的一个中间层,其作用是将应用程序的请求传递给硬件。内核层可以包括显示驱动、摄像头驱动、音频驱动和传感器驱动等。
需要说明的是,本申请提供的图12所示的电子设备的软件架构示意图仅作为一种示例,并不限定Android操作***不同分层中的具体模块划分,具体可以参考常规技术中对Android操作***软件架构的介绍。另外,本申请提供的广播分发方法还可以基于其他操作***实现,本申请不再一一举例。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种广播分发方法,其特征在于,所述方法包括:
电子设备通过活动管理器服务AMS接收广播发送者发送的第一广播;
所述电子设备通过所述AMS基于第一对应关系和所述第一广播确定目标广播接收器和目标进程;
在所述目标进程中的第一进程中存在多个目标广播接收器的情况下,所述电子设备通过所述AMS向所述第一进程发送所述第一广播和第一目标广播接收器信息;所述电子设备通过所述第一进程基于所述第一目标广播接收器信息来将所述第一广播分别发送给所述第一进程中的多个目标广播接收器;
其中,所述目标进程为所述目标广播接收器所属的进程;所述第一目标广播接收器信息包括所述第一进程中的各个目标广播接收器的标识;所述电子设备包括所述广播发送者、所述AMS、所述目标进程、所述目标广播接收器。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一进程中仅存在一个目标广播接收器的情况下,所述电子设备通过所述AMS向所述第一进程中的一个目标广播接收器发送所述第一广播。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一进程中仅存在一个目标广播接收器的情况下,所述电子设备通过所述AMS向所述第一进程发送所述第一广播和所述第一目标广播接收器信息;所述电子设备通过所述第一进程基于所述第一目标广播接收器信息来将所述第一广播发送给所述第一进程中的目标广播接收器。
4.如权利要求1-3任一项所述的方法,其特征在于,所述电子设备通过所述AMS确定所述目标进程,具体包括:所述电子设备通过所述AMS基于所述目标广播接收器注册时所携带的binder服务端地址确定所述目标进程;所述binder服务端地址包含进程信息。
5.如权利要求1-3任一项所述的方法,其特征在于,所述第一目标广播接收器信息为包括所述第一进程中的各个目标广播接收器的注册名称的列表。
6.如权利要求1-3任一项所述的方法,其特征在于,所述电子设备通过所述AMS向所述第一进程发送所述第一广播和第一目标广播接收器信息,具体包括:所述电子设备通过所述AMS基于新增接口向所述第一进程发送所述第一广播和所述第一目标广播接收器信息。
7.如权利要求1-3任一项所述的方法,其特征在于,所述第一对应关系为在所述AMS中注册的广播接收器与广播类型的对应关系;所述电子设备通过所述AMS基于所述第一对应关系和所述第一广播确定所述目标广播接收器,具体包括:
所述电子设备通过所述AMS基于所述在所述AMS中注册的广播接收器与广播类型的对应关系,确定对应的广播类型与所述第一广播的类型一样的广播接收器为所述目标广播接收器。
8.如权利要求1-3任一项所述的方法,其特征在于,所述第一对应关系为在所述AMS中注册的广播接收器与广播的对应关系;所述电子设备通过所述AMS基于所述第一对应关系和所述第一广播确定所述目标广播接收器,具体包括:
所述电子设备通过所述AMS基于所述在所述AMS中注册的广播接收器与广播的对应关系,确定对应的广播为所述第一广播的广播接收器为所述目标广播接收器。
9.一种电子设备,包括一个或多个存储器、一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1-8中任一项所述的方法。
10.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310470038.4A CN116185669B (zh) | 2023-04-27 | 2023-04-27 | 一种广播分发方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310470038.4A CN116185669B (zh) | 2023-04-27 | 2023-04-27 | 一种广播分发方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116185669A CN116185669A (zh) | 2023-05-30 |
CN116185669B true CN116185669B (zh) | 2023-09-22 |
Family
ID=86452655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310470038.4A Active CN116185669B (zh) | 2023-04-27 | 2023-04-27 | 一种广播分发方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185669B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076158B (zh) * | 2023-09-28 | 2024-03-12 | 荣耀终端有限公司 | 一种广播分发处理方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201740A (zh) * | 2016-06-29 | 2016-12-07 | 北京金山安全软件有限公司 | 一种广播消息管理方法、装置及设备 |
CN106648937A (zh) * | 2016-12-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种安卓应用的广播代理方法和装置 |
CN111917562A (zh) * | 2020-07-31 | 2020-11-10 | 广州市百果园信息技术有限公司 | 广播消息转发方法、装置、设备及存储介质 |
EP3591924B1 (en) * | 2017-03-10 | 2021-01-13 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Control method, device, storage medium, and electronic apparatus for broadcast sending |
EP3418892B1 (en) * | 2016-03-30 | 2021-09-01 | Huawei Technologies Co., Ltd. | Method and device for managing and controlling broadcast, and terminal |
CN115712515A (zh) * | 2022-11-24 | 2023-02-24 | 抖音视界有限公司 | 一种广播信息接收方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851593B (zh) * | 2017-03-10 | 2019-09-24 | Oppo广东移动通信有限公司 | 一种广播发送方法、装置及终端 |
-
2023
- 2023-04-27 CN CN202310470038.4A patent/CN116185669B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3418892B1 (en) * | 2016-03-30 | 2021-09-01 | Huawei Technologies Co., Ltd. | Method and device for managing and controlling broadcast, and terminal |
CN106201740A (zh) * | 2016-06-29 | 2016-12-07 | 北京金山安全软件有限公司 | 一种广播消息管理方法、装置及设备 |
CN106648937A (zh) * | 2016-12-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种安卓应用的广播代理方法和装置 |
EP3591924B1 (en) * | 2017-03-10 | 2021-01-13 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Control method, device, storage medium, and electronic apparatus for broadcast sending |
CN111917562A (zh) * | 2020-07-31 | 2020-11-10 | 广州市百果园信息技术有限公司 | 广播消息转发方法、装置、设备及存储介质 |
CN115712515A (zh) * | 2022-11-24 | 2023-02-24 | 抖音视界有限公司 | 一种广播信息接收方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116185669A (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521242B2 (en) | Application containers with updatable application programming interface layers | |
CN108536538A (zh) | 处理器核心调度方法、装置、终端及存储介质 | |
CN110990075B (zh) | 快应用的启动方法、装置、设备及存储介质 | |
EP2538304B1 (en) | Haptic theme framework | |
WO2022089207A1 (zh) | 一种跨设备应用交互方法、电子设备与服务器 | |
US11782756B2 (en) | Method and apparatus for scheduling processor core, and storage medium | |
US20230094172A1 (en) | Cross-Device Application Invoking Method and Electronic Device | |
CN110413822B (zh) | 离线图像结构化分析方法、装置、***和存储介质 | |
CN116185669B (zh) | 一种广播分发方法及相关设备 | |
CN113032766A (zh) | 应用权限管理的方法和装置 | |
CN111679790A (zh) | 远程软件开发存储空间分配方法及装置 | |
WO2023103759A1 (zh) | 服务调用方法、***、装置、设备及存储介质 | |
CN114237840A (zh) | 资源交互方法、装置、终端及存储介质 | |
CN115048642B (zh) | 多可信执行环境下可信应用间的通信方法及电子设备 | |
CN114915618B (zh) | 升级包下载方法及装置 | |
EP4220627A1 (en) | Control method and apparatus, and electronic device | |
CN113268272B (zh) | 基于私有云的应用交付方法、装置及*** | |
CN113810857B (zh) | 一种信标消息处理方法以及*** | |
CN113642010B (zh) | 一种获取扩展存储设备数据的方法及移动终端 | |
CN117076158B (zh) | 一种广播分发处理方法及相关设备 | |
CN117216428B (zh) | 一种网页资源请求方法、终端设备及计算机可读存储介质 | |
US20240036891A1 (en) | Sub-application running method and apparatus, electronic device, program product, and storage medium | |
CN115250261B (zh) | 一种信息的显示方法及电子设备 | |
CN110278331B (zh) | ***属性的反馈方法、装置、终端及存储介质 | |
CN114500496A (zh) | 一种目标数据的下载方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |