CN109274509A - 广播状态确定方法、装置、电子设备及存储介质 - Google Patents

广播状态确定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109274509A
CN109274509A CN201810961774.9A CN201810961774A CN109274509A CN 109274509 A CN109274509 A CN 109274509A CN 201810961774 A CN201810961774 A CN 201810961774A CN 109274509 A CN109274509 A CN 109274509A
Authority
CN
China
Prior art keywords
broadcast
state
parameter
parameter value
destination application
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.)
Granted
Application number
CN201810961774.9A
Other languages
English (en)
Other versions
CN109274509B (zh
Inventor
吴汝煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810961774.9A priority Critical patent/CN109274509B/zh
Publication of CN109274509A publication Critical patent/CN109274509A/zh
Application granted granted Critical
Publication of CN109274509B publication Critical patent/CN109274509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种广播状态确定方法、装置、电子设备及存储介质,涉及电子设备技术领域。其中,该方法包括:判断是否接收到广播;在接收到广播的情况下,实时获取广播的当前状态;将广播状态参数设置为对应所述当前状态的参数值。本申请实施例提供的方案可以通过从该目标应用程序中获取广播状态参数的参数值,确定广播当前所处的状态。

Description

广播状态确定方法、装置、电子设备及存储介质
技术领域
本申请涉及电子设备技术领域,更具体地,涉及一种广播状态确定方法、装置、电子设备及存储介质。
背景技术
广播是电子设备中用来进行跨进程通信的技术。广播由发送者发送到广播管理器,广播管理器再将该广播发送给相应的应用程序进程进行处理,并且可以接收处理完成的反馈信息。但是,在广播发送到相应的应用程序进程后,无法确定广播所处的状态。
发明内容
鉴于上述问题,本申请提出了一种广播状态确定方法、装置、电子设备及存储介质,以解决上述问题。
第一方面,本申请实施例提供了一种广播状态确定方法,所述方法包括:判断是否接收到广播;在接收到广播的情况下,实时获取广播的当前状态;将广播状态参数设置为对应所述当前状态的参数值。
第二方面,本申请实施例提供了一种广播状态确定方法,所述方法包括:向目标应用程序发送广播;从所述目标应用程序获取广播状态参数的参数值,所述广播状态参数的不同参数值由所述目标应用程序设置,且对应所述目标应用程序中所述广播的不同状态;根据所述参数值确定广播的当前状态。
第三方面,本申请实施例提供了一种广播状态确定方法,所述方法包括:广播处理单元向目标应用程序发送广播;所述目标应用程序接收到所述广播的情况下,实时获取广播的状态;所述目标应用程序将广播状态参数设置为对应当前状态的参数值;所述广播处理单元从所述目标应用程序获取广播状态参数的参数值;所述广播处理单元根据所述参数值确定广播的当前状态。
第四方面,本申请实施例提供了一种广播状态确定装置,所述装置包括:判断模块,用于判断是否接收到广播;状态获取模块,用于在接收到广播的情况下,实时获取广播的当前状态;参数设置模块,用于将广播状态参数设置为对应所述当前状态的参数值。
第五方面,本申请实施例提供了一种广播状态确定装置,所述装置包括:广播发送模块,用于向目标应用程序发送广播;参数获取模块,用于从所述目标应用程序获取广播状态参数的参数值,所述广播状态参数的不同参数值由所述目标应用程序设置,且对应所述目标应用程序中所述广播的不同状态;状态确定模块,用于根据所述参数值确定广播的当前状态。
第六方面,本申请实施例提供了一种电子设备,所述电子设备包括广播处理单元以及接收所述广播处理单元发送的广播的目标应用程序,其中,所述广播处理单元用于向目标应用程序发送广播;所述目标应用程序用于接收到所述广播的情况下,实时获取广播的状态,将广播状态参数设置为对应当前状态的参数值;所述广播处理单元还用于从所述目标应用程序获取广播状态参数的参数值,根据所述参数值确定广播的当前状态。
第七方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时,所述处理器执行上述的方法。
第八方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请实施例提供的广播状态确定方法、装置、电子设备及存储介质,接收广播的目标应用程序可以在广播处于不同状态时,对广播状态参数设置不同的参数值。从而,可以通过从该目标应用程序中获取广播状态参数的参数值,确定广播当前所处的状态。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的广播状态确定方法的流程图。
图2示出了本申请另一实施例提供的广播状态确定方法的流程图。
图3示出了本申请又一实施例提供的广播状态确定方法的流程图。
图4示出了本申请再一实施例提供的广播状态确定方法的流程图。
图5示出了本申请还一实施例提供的广播状态确定方法的流程图。
图6示出了本申请一实施例提供的广播状态确定装置的功能模块图。
图7示出了本申请另一实施例提供的广播状态确定装置的功能模块图。
图8示出了本申请一实施例提供的电子设备的功能模块图。
图9示出了本申请一实施例提供的电子设备的结构框图。
图10是本申请实施例的用于保存或者携带实现根据本申请实施例的广播状态确定方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在电子设备中,可以通过广播实现跨进程通信,例如,通过广播来实现应用程序之间、系统与应用程序之间以及应用程序的不同进程之间的通信。
以操作系统为安卓(android)系统的电子设备对串行分发的广播进行分发为例。在需要通过广播进行消息传递时,广播发送者将广播发送到广播管理器(ActivityManagerService),广播管理器查找与该广播匹配的广播接收者(BroadcastReceiver),并且将广播通过binder通信发送到该查找到的广播接收者。
具体的,以查找到的广播接收者所运行的应用程序作为目标应用程序,将该广播发送到该目标应用程序。其中,广播接收者将广播发送到目标应用程序中广播接收者对应的进程,该进程接收到广播管理器发送过来的广播后,将该广播封装成一个消息发送到消息队列中。
广播接收者对应的进程从消息队列中取出消息进行处理,具体的,对广播的处理可以是该进程中的主线程实现。当广播接收者对应的进程从消息队列中取出该广播进行处理时,回调广播接收者中对广播进行处理的方法,如onReceive()方法,对该广播进行处理。其中,广播接收者对广播进行处理,即执行该广播所指示的动作,例如,在存储器中写入某一数据、删除存储的某一数据、进行网络连接、开启指定界面等。
广播处理完毕后,即广播接收者完成广播所指示的动作,广播接收者对应的进程将处理完成的信息反馈给广播管理器,以使广播管理器可以获知广播被成功处理。
但是,若广播管理器未接收到处理完成的反馈信息,则无法确定广播是否被广播接收者对应的进程处理,以及广播在广播接收者对应的进程中所处的状态,即无法确定广播在广播接收者对应的进程中所在的处理节点。例如,广播管理器在将广播发送到广播接收者时,开始计时,当到达预设时间还未接收到该广播处理完成的反馈消息,广播管理器生成ANR(Application Not Responding,应用程序无响应)消息,提示广播超时异常,但是,无法获知产生ANR的原因,无法确定广播在目标应用程序中处于哪一种状态,停留在哪一个处理节点。
发明人经过研究发现,目标应用程序中,广播具有多个处理节点,可以以每个处理节点作为一种状态。例如,不同的状态可以包括,广播还未发送到广播接收者对应的进程的消息队列中,即目标应用程序还未接收到广播;广播被发送到目标应用程序,即目标应用程序接收到广播;广播接收者对应的进程对消息队列中该广播进行处理时,可以是目标应用程序开始对所述广播进行处理的状态;当广播接收者对应的进程将广播处理完成,可以是目标应用程序完成对所述广播的处理的状态;当广播接收者对应的进程将广播处理完成的信息向广播管理器通知广播处理完成,可以是将所述广播处理结束的信息反馈给广播管理器的状态等。对于不同的状态,目标应用程序可以对其进行记录,从而可以从目标应用程序获取到广播的当前状态。因此,提出了本申请实施例的广播状态确定方法、装置、电子设备及存储介质,可以对广播在目标应用程序中的状态进行确定。
下面将通过具体实施例对本申请实施例提供的广播状态确定方法、装置、电子设备及存储介质进行详细说明。
请参阅图1,本申请实施例提供了一种广播状态确定方法,该方法中,对应广播的不同状态,目标应用程序对用于记录广播状态的广播状态参数设置相应的参数值,从而可以通过该参数值确定广播的当前状态。具体的,该方法包括:
步骤S110:判断是否接收到广播。
目标应用程序判断是否接收到广播,该判断可以是实时判断。
具体的,可以是,广播接收者对应的进程接收到广播时,判定为目标应用程序接收到广播;也或者是将广播发送到广播接收者对应进程的消息队列中,判定为接收到广播。
步骤S120:在接收到广播的情况下,实时获取广播的当前状态。
步骤S130:将广播状态参数设置为对应所述当前状态的参数值。
目标应用程序中,设置有对广播所处状态进行记录的广播状态参数。若目标应用程序接收到广播,可以实时获取广播的当前状态,并通过广播状态参数对广播的当前状态进行记录。其中,广播的当前状态,即广播在当前的状态。
也就是说,广播从广播管理器发送到目标应用程序,会经过不同的处理节点,如目标应用程序刚接收到广播、开始对广播进行处理、广播处理完成以及将广播处理完成的消息反馈到广播管理器等,每个节点作为一种广播的状态。在广播的状态的变化过程中,不同的状态下将广播状态参数记录为不同的参数值,以通过参数值表示广播所处状态。
具体的,目标应用程序接收到广播时,可以判定广播的当前状态为接收到广播,将广播状态参数设置为第一参数值,如设置为1。其中,对目标应用程序接收到广播的判定,可以是,广播接收者对应的进程接收到广播管理器发送的广播,或者是,广播接收者对应的进程将广播放入消息队列中。
可选的,在本申请实施例中,接收到广播也可以分为两个不同的状态,以广播接收者对应的进程接收到广播管理器发送的广播作为进程接收广播的状态,以广播接收者对应的进程将广播放入消息队列中时对应的状态,作为广播入队状态,对应进程接收广播的状态以及广播入队状态设置不同的参数值。
当广播的状态为目标应用程序开始对广播进行处理,可以将广播状态参数设置为第二参数值,该第二参数值与第一参数值不同,如将广播状态参数设置为2。
当目标应用程序完成对所述广播的处理,可以将所述广播状态参数设置为第三参数值,该第三参数值与第一参数值以及第二参数值不同,如将广播状态参数值设置为3。
当目标应用程序将广播处理结束的信息反馈给广播管理器,可以将广播状态参数设置为第四参数值,该第四参数值与第一参数值、第二参数值以及第三参数值均不同,如将广播状态参数设置为0。
可选的,作为一种实施方式,在本申请实施例中,对广播的当前状态实时获取,对广播状态参数设置也可以是实时进行。只是,若当其获取到的广播状态与前一次获取的广播状态相同,则对广播状态参数设置的参数值与前一次设置的参数值相同;若当前获取到的广播状态与前一次获取的广播状态不同,则对广播状态参数设置的参数值为对应当前状态的参数值。
可选的,作为一种实施方式,在本申请实施例的实时获取广播的当前状态的过程中,若广播的状态不变,则可以是广播状态参数的设置保持不变。例如,广播状态参数当前为第一参数值,表示接收到广播,但是还未开始对其进行处理,并且,获取到广播的当前状态为广播处于消息队列中,则广播状态参数仍然保持为第一参数值。
可选的,作为一种实施方式,在本申请实施例中,对广播状态的设置可以是在广播状态发生变化的时候。例如,广播的状态由接收到广播变化为开始对广播进行处理,则将广播状态参数由第一参数值设置为第二参数值。在该实施方式中,可以是,广播接收者对应的进程对广播进行新的处理操作时,对广播状态参数进行参数值设置。该新的处理即使广播进入新的状态。
在本申请实施例中,目标应用程序判定接收到广播的情况下,对广播所处的不同状态通过广播状态参数进行记录。具体通过对广播状态参数设置不同的参数值,从而可以根据当前的广播状态参数值确定当前广播所处的状态。
本申请实施例提供的广播状态确定方法中,还可以在为接收到广播的情况下,对广播状态参数进行参数值设置。具体的,请参见图2,该方法包括:
步骤S210:判断是否接收到广播。
步骤S220:在接收到广播的情况下,实时获取广播的当前状态。
步骤S230:根据预存储的不同状态与参数值的对应关系,确定当前状态对应的参数值。
电子设备中可以预存储有广播的不同状态与参数值的对应关系,例如,接收到所述广播的状态对应第一参数值;开始对所述广播进行处理的状态对应第二参数值;完成对所述广播的处理的状态对应第三参数值;将所述广播处理结束的信息反馈给广播管理器的状态对应第四参数值。
在获取到广播的当前状态的情况下,可以确定当前状态所对应的参数值。
其中,作为一种实施方式,可以是对应每一个获得的当前状态,根据状态与参数值的对应关系,确定该当前状态对应的参数值。
作为一种实施方式,在状态发生变化时,也就是说,当前状态与前一时刻广播的状态不同时,确定该当前状态对应的参数值。
步骤S240:将广播状态参数设置为对应所述当前状态的参数值。
广播状态参数设置为步骤S230中所确定的当前状态对应的参数值。
步骤S250:若没有接收到广播,将广播状态参数设置为第五参数值。
目标应用程序在没有接收到广播的情况下,将广播状态参数设置为第五参数值。
作为一种实施方式,第五参数值与第四参数值可以相同,如均为0,表示目标应用程序当前没有接收到有广播,并且将前一次接收到的广播处理完成且已将处理完成的消息向广播管理器反馈。
在该实施方式中,可以是广播状态参数的默认参数值为第五参数值,表示目标应用程序还没有接收到广播,处于等待状态。并且,目标应用程序实时判断是否接收到广播,若没有接收到广播,广播状态参数的参数值仍然为默认参数值。
若目标应用程序接收到广播,完成对广播的处理,并且将处理完的信息反馈到广播管理器,则将广播状态参数的参数值重新记录为第五参数值,表示广播的状态被重新置位,目标应用程序重新进入等待状态。
作为一种实施方式,第五参数值与第四参数值可以不同,并且,第五参数值与其他参数值也不同。在该实施方式中,可以是,广播状态参数的默认参数值为第五参数值,表示目标应用程序还没有接收到广播,处于等待状态。并且,目标应用程序实时判断是否接收到广播,若没有接收到广播,广播状态参数的参数值仍然为默认参数值。
在该实施方式中,若目标应用程序接收到广播,完成对广播的处理,并且在将处理完的信息反馈向广播管理器时,将广播状态参数的参数值设置为第四参数值。在经过预设时间长度后且没有接收到广播的情况下,再将广播状态参数设置为第五参数值。
在该实施例中,与前述实施例相同的步骤可以相互参照,在此不再赘述。
在本申请实施例中,目标应用程序在接收到有广播的情况下,对应广播的不同状态将广播状态参数设置为不同的参数值。若没有接收到广播,则对应没有接收到广播的情况设置相应的参数值。从而,在任何时刻都可以根据广播状态参数值确定目标应用程序中广播所处状态。
本申请实施例提供的方法中,还包括广播处理单元根据参数值对广播状态的确定。具体的,请参见图3,该方法包括:
步骤S310:向目标应用程序发送广播。
广播处理单元向目标应用程序发送广播。具体的,可以是广播处理单元中广播管理器将广播发送到目标应用程序中广播接收者对应的进程。
步骤S320:从所述目标应用程序获取广播状态参数的参数值。所述广播状态参数的不同参数值由所述目标应用程序记录,且对应所述目标应用程序中所述广播的不同状态。
广播处理单元可以从目标应用程序获取广播状态参数的参数值。具体的,广播处理单元可以添加有获取广播状态参数的参数值的接口,调用该接口,从目标应用程序获取广播状态参数的参数值。
其中,广播处理单元从目标应用程序获取广播状态参数的参数值的具体时机并不限定。作为一种实施方式,可以是,接收到广播状态参数获取指令。例如,产生广播ANR时,用户想要知道广播被卡在哪一个节点,可以发起获取广播状态参数的获取指令。广播处理单元根据该获取指令从目标应用程序获取该参数值。
作为另一种实施方式,可以是,广播处理单元判断所述目标应用程序对所述广播的处理是否超过预设时间,若是,从所述目标应用程序获取广播状态参数的参数值。
具体的,在该实施方式中,广播处理单元将广播向广播接收者对应的进程发送后,开始进行计时。当计时到预设时间没有接收到广播处理完成的反馈信息,判定目标应用程序对所述广播的处理超过预设时间。广播处理单元生成ANR消息,并且,获取广播状态参数的参数值。
可选的,作为一种实施方式,在本申请实施例中,广播处理单元可以为广播管理器。也就是说,广播管理器向广播接收者对应的进程发送广播,并且,广播管理器可以从目标应用程序获取广播状态参数的参数值。例如,在发声ANR时,或者接收到获取广播状态参数的指令时,获取广播状态参数的参数值。
可选的,作为一种实施方式,在本申请实施例中,广播处理单元可以包括广播管理器以及参数获取子单元。其中,广播管理器用于向目标应用程序发送广播以及生成ANR消息,参数获取子单元用于从目标应用程序获取广播状态参数。
可选的,在该实施方式中,参数获取子单元可以在广播管理器判定目标应用程序对所述广播的处理超过预设时间时,如广播管理器生成ANR消息时,从目标应用程序获取广播状态参数。
可选的,在该实施方式中,参数获取子单元可以在广播管理器将广播发送到广播接收者对应的进程时开始计时,并判断目标应用程序对所述广播的处理是否超过预设时间。若到的预设时间广播管理器没有接收到广播处理完成的反馈消息,则参数获取子单元判定目标应用程序对所述广播的处理超过预设时间,从目标应用程序获取广播状态参数。
可选的,在该实施方式中,参数获取子单元可以在接收到获取广播状态参数的指令时,从目标应用程序获取广播状态参数的参数值。
步骤S330:根据所述参数值确定广播的状态。
广播处理单元根据该参数值可以确定广播的状态。例如,若该参数值为第一参数值,表示获取参数值时,广播的状态为目标应用程序接收到所述广播;若该参数值为第二参数值,表示获取参数值时,广播的状态为目标应用程序已经开始对所述广播进行处理;若该参数值为第三参数值,表示获取参数值时,广播的状态为目标应用程序完成对所述广播的处理但还未将所述广播处理结束的信息反馈给广播管理器。
可选的,在本申请实施例中,若对应进程接收广播的状态以及广播入队状态设置不同的参数值,则广播处理单元可以分别确定进程接收广播的状态以及广播入队状态。
若第五参数值与第四参数值相同,若获取到的参数值为第四参数值,表示获取参数值时广播的状态为,已经该将广播处理结束的信息向广播管理器反馈,并且该目标应用程序还没有接收到新的广播。
若第五参数值与第四参数值不同,若获取到的参数值为第五参数值,表示获取参数值时广播的状态为,已经在预设时间长度前该将广播处理结束的信息向广播管理器反馈,并且还没有目标应用程序没有接收到新的广播。
在本申请实施例中,广播处理单元可以向目标应用程序发送广播,并且可以根据需求,从目标应用程序获取广播状态参数的参数值。其中,广播状态参数的参数值不同,表示获取参数值时,广播处于不同的状态,从而可以根据参数值知道广播所处状态,确定广播的处理进度。
本申请实施例提供的方法中,还可以广播处理单元还可以根据获得的参数值确定广播ANR的原因。具体的,请参见图4,该方法包括:
步骤S410:向目标应用程序发送广播。
步骤S420:从所述目标应用程序获取广播状态参数的参数值。所述广播状态参数的不同参数值由所述目标应用程序设置,且对应所述目标应用程序中所述广播的不同状态。
步骤S430:根据所述参数值确定广播的状态。
步骤S440:根据所述广播的状态,确定所述广播超时的原因。
当产生广播ANR,即广播管理器生成ANR消息,广播处理单元可以根据广播状态参数的参数值确定广播的当前状态,从而根据广播的当前状态确定广播超时的可能原因。
其中,广播的当前状态不同,广播所处的处理节点不同。若产生ANR消息,可以根据广播的状态分析确定广播在目标应用程序的哪个节点被卡而导致处理超过预设时间。
例如,在本申请实施例中,若广播的当前状态为第五参数值对应的未接收到所述广播,则可能是目标应用程序已经反馈广播处理结束的信息达到预设时间长度,可能是广播管理器该反馈信息未成功到的广播管理器,或者广播管理器接收该反馈信息过程出错。
另外,若广播的当前状态为第五参数值对应的未接收到所述广播,也可能表示广播管理器向目标应用程序发送了广播,但是目标应用程序中接收者对应的进程没有接收到该广播,可能是广播管理器的广播发送过程出错,广播未成功发送到广播接收者对应的进程,或者是广播未成功进入到消息队列。
其中,若对于接收到广播的状态,分别确定了进程接收广播的状态以及广播入队状态,则若广播的当前状态为第五参数值对应的未接收到所述广播的状态,表示广播管理器向目标应用程序中接收者对应的进程发送了广播,但是进程未接收到广播,则可能是广播未成功发送到广播接收者对应的进程,可能是广播发送过程中出错。若广播的当前状态为进程接收广播的状态,说明广播接收者对应的进程接收到了广播,但是该广播未放入消息队列,则可能是广播接收者对应的进程在将广播封装为消息并放入消息队列的过程中出错。
若广播的当前状态为第一参数值对应的接收到所述广播,广播到达了接收者对应的进程的消息队列中,但是还未开始从消息队列中取出该广播进行处理,则可能是目标应用程序确实接收到广播了,广播还在消息队列中,但是目标应用程序中接收者对应的进程中,可能由于主线程负载太重,其他耗时操作太多等原因,导致未及时对该广播进行处理处理。
若广播的当前状态为第二参数值对应的开始对所述广播进行处理,表示进程的主线程已经从消息队列中取出广播,对该广播进行处理,执行广播对应的操作,但是还未完成对广播的处理,则可能是广播的处理比较耗时等原因导致对广播的处理还没完成。
若广播的当前状态为第三参数值对应的完成对所述广播的处理,表示该广播的处理已经完成,但是广播管理器未接收到目标应用程序反馈的处理完成的消息,则可能是目标应用程序向广播管理器反馈广播处理结束的信息过程出错,导致未能实现向广播管理器反馈处理结束的信息。
若广播的当前状态为第四参数值对应的将广播处理结束的信息反馈给广播管理器,表示在目标应用程序端,已经向广播管理器反馈了广播处理结束的消息,但是,在广播管理器端,计时到预设时间时,未接收到该反馈的消息,则可能是广播管理器接收该反馈信息过程出错,或者在广播管理器接收该反馈信息时,广播处理模块计时达到预设时间。
可选的,在本申请实施例中,也可以直接根据广播状态参数的参数值确定广播超时的原因。
在本申请实施例中,作为一种实施方式,广播处理单元可以为广播管理器,广播管理器用于根据广播的当前状态,确定所述广播超时的原因。
作为另一种实施方式,广播处理单元包括广播管理器以及参数获取子单元,参数获取单元用于根据广播的当前状态,确定所述广播超时的原因。
在本申请实施例中,还可以将广播超时的原因进行显示。在广播超时的情况下,可以通过广播的当前状态确定广播超时的原因,从而可以根据该原因对目标应用程序进行代码优化,减少目标应用程序出现广播超时的次数。
请参阅图5,本申请实施例提供了一种广播状态确定方法,应用于广播处理单元以及目标应用程序的交互。如图5所示,该方法包括:
步骤S510:广播处理单元向目标应用程序发送广播。
步骤S520:所述目标应用程序接收到所述广播的情况下,实时获取广播的状态。
步骤S530:所述目标应用程序将广播状态参数设置为对应当前状态的参数值。
步骤S540:所述广播处理单元从所述目标应用程序获取广播状态参数的参数值。
步骤S550:所述广播处理单元根据所述参数值确定广播的当前状态。
在本实施例中,广播处理单元向目标应用程序发送广播。目标应用程序若接收到该广播,则实时获取广播的状态并根据广播的状态对广播状态参数进行参数值设置。其中,目标应用程序获取广播的状态从刚刚接收到广播开始,也就是说,目标应用程序接收到广播,也是一种广播的状态,对应该广播的状态设置参数值。
广播处理单元可以在产生ANR信息或者接收到获取广播状态参数的指令时,从目标应用程序获取当前广播状态参数的参数值。当然,广播处理单元也可以在其他触发条件下从目标应用程序获取广播状态参数的参数值。
广播处理单元还可以根据获取的参数值确定广播的当前状态,从而确定在从向目标应用程序发送广播,到目标应用程序对广播处理完成并向广播管理器反馈信息的广播发送处理流程中,广播处于哪一个阶段,可能是何种原因导致广播超时。
在本申请实施例中,各实施例相同或相似的步骤之间可以相互参照,本申请实施例中不再进行赘述。
本申请实施例还提供了一种广播状态确定装置600。请参见图6,该装置600包括:判断模块610,用于判断是否接收到广播。状态获取模块620,用于在接收到广播的情况下,实时获取广播的当前状态。参数设置模块630,用于将广播状态参数设置为对应所述当前状态的参数值。
可选的,参数设置模块630可以包括以下一种或多种:第一参数设置单元,当广播的当前状态为接收到所述广播,将所述广播状态参数设置为第一参数值。第二参数设置单元,当广播的当前状态为开始对所述广播进行处理,将所述广播状态参数设置为第二参数值。第三参数设置单元,当广播的当前状态为完成对所述广播的处理,将所述广播状态参数设置为第三参数值。第四参数设置单元,当广播的当前状态为将所述广播处理结束的信息反馈给广播管理器,将所述广播状态参数设置为第四参数值。
可选的,参数设置模块630还可以包括第五参数设置单元,用于若没有接收到广播,将广播状态参数设置为第五参数值。
可选的,第五参数设置单元可以将所述第五参数值设置为与所述第四参数值相同。
可选的,第五参数设置单元也可以将所述第五参数值设置为与所述第四参数值相同以及其他参数值不同。
可选的,该装置600还可以包括参数确定模块,用于根据预存储的不同状态与参数值的对应关系,确定当前状态对应的参数值。
本申请另一实施例还提供了一种广播状态确定装置700。请参见图7,该装置700可以包括:广播发送模块710,用于向目标应用程序发送广播。参数获取模块720,用于从所述目标应用程序获取广播状态参数的参数值。其中,所述广播状态参数的不同参数值由所述目标应用程序设置,且对应所述目标应用程序中所述广播的不同状态。状态确定模块730,用于根据所述参数值确定广播的当前状态。
可选的,本申请实施例还可以包括超时判断模块,用于判断所述目标应用程序对所述广播的处理是否超过预设时间。若超过,参数获取模块720用于从所述目标应用程序获取广播状态参数的参数值。
可选的,本申请实施例还可以包括原因分析模块,用于根据所述广播的状态,确定所述广播超时的原因。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请另一实施例还提供了一种电子设备800。请参见图8,该电子设备800包括广播处理单元810以及接收所述广播处理单元发送的广播的目标应用程序820。其中,所述广播处理单元810用于向目标应用程序发送广播。所述目标应用程序820用于接收到所述广播的情况下,实时获取广播的状态,将广播状态参数设置为对应当前状态的参数值;所述广播处理单元810还用于从所述目标应用程序获取广播状态参数的参数值,根据所述参数值确定广播的当前状态。
请参考图9,其示出了本申请实施例提供的一种电子设备900的结构框图。该电子设备900可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。该电子设备包括处理器910以及存储器920,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时,所述处理器执行上述一个或多个实施例所描述的方法。
处理器910可以包括一个或者多个处理核。处理器910利用各种接口和线路连接整个电子设备900内的各个部分,通过运行或执行存储在存储器920内的指令、程序、代码集或指令集,以及调用存储在存储器920内的数据,执行电子设备900的各种功能和处理数据。可选地,处理器910可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器910可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器910中,单独通过一块通信芯片进行实现。
存储器920可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器920可用于存储指令、程序、代码、代码集或指令集。存储器920可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令、用于实现上述各个方法实施例的指令等。存储数据区还可以电子设备在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质100中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质100可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质100包括非易失性计算机可读介质(non-transitorycomputer-readable storage medium)。计算机可读存储介质100具有执行上述方法中的任何方法步骤的程序代码110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码110可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (14)

1.一种广播状态确定方法,其特征在于,所述方法包括:
判断是否接收到广播;
在接收到广播的情况下,实时获取广播的当前状态;
将广播状态参数设置为对应所述当前状态的参数值。
2.根据权利要求1所述的方法,其特征在于,所述将广播状态参数设置为对应所述当前状态的参数值,包括以下一种或多种:
当广播的当前状态为接收到所述广播,将所述广播状态参数设置为第一参数值;
当广播的当前状态为开始对所述广播进行处理,将所述广播状态参数设置为第二参数值;
当广播的当前状态为完成对所述广播的处理,将所述广播状态参数设置为第三参数值;
当广播的当前状态为将所述广播处理结束的信息反馈给广播管理器,将所述广播状态参数设置为第四参数值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若没有接收到广播,将广播状态参数设置为第五参数值。
4.根据权利要求3所述的方法,其特征在于,所述第五参数值与所述第四参数值相同。
5.根据权利要求1所述的方法,其特征在于,所述将广播状态参数设置为对应所述当前状态的参数值之前,还包括:
根据预存储的不同状态与参数值的对应关系,确定当前状态对应的参数值。
6.一种广播状态确定方法,其特征在于,所述方法包括:
向目标应用程序发送广播;
从所述目标应用程序获取广播状态参数的参数值,所述广播状态参数的不同参数值由所述目标应用程序设置,且对应所述目标应用程序中所述广播的不同状态;
根据所述参数值确定广播的当前状态。
7.根据权利要求6所述的方法,其特征在于,所述从所述目标应用程序获取广播状态参数的参数值之前,还包括:
判断所述目标应用程序对所述广播的处理是否超过预设时间;
若是,执行所述从所述目标应用程序获取广播状态参数的参数值的步骤。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
根据所述广播的状态,确定所述广播超时的原因。
9.一种广播状态确定方法,其特征在于,所述方法包括:
广播处理单元向目标应用程序发送广播;
所述目标应用程序接收到所述广播的情况下,实时获取广播的状态;
所述目标应用程序将广播状态参数设置为对应当前状态的参数值;
所述广播处理单元从所述目标应用程序获取广播状态参数的参数值;
所述广播处理单元根据所述参数值确定广播的当前状态。
10.一种广播状态确定装置,其特征在于,所述装置包括:
判断模块,用于判断是否接收到广播;
状态获取模块,用于在接收到广播的情况下,实时获取广播的当前状态;
参数设置模块,用于将广播状态参数设置为对应所述当前状态的参数值。
11.一种广播状态确定装置,其特征在于,所述装置包括:
广播发送模块,用于向目标应用程序发送广播;
参数获取模块,用于从所述目标应用程序获取广播状态参数的参数值,所述广播状态参数的不同参数值由所述目标应用程序设置,且对应所述目标应用程序中所述广播的不同状态;
状态确定模块,用于根据所述参数值确定广播的当前状态。
12.一种电子设备,其特征在于,所述电子设备包括广播处理单元以及接收所述广播处理单元发送的广播的目标应用程序,其中,
所述广播处理单元用于向目标应用程序发送广播;
所述目标应用程序用于接收到所述广播的情况下,实时获取广播的状态,将广播状态参数设置为对应当前状态的参数值;
所述广播处理单元还用于从所述目标应用程序获取广播状态参数的参数值,根据所述参数值确定广播的当前状态。
13.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时,所述处理器执行如权利要求1-9任一项所述的方法。
14.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-9任一项所述的方法。
CN201810961774.9A 2018-08-22 2018-08-22 广播状态确定方法、装置、电子设备及存储介质 Active CN109274509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810961774.9A CN109274509B (zh) 2018-08-22 2018-08-22 广播状态确定方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810961774.9A CN109274509B (zh) 2018-08-22 2018-08-22 广播状态确定方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109274509A true CN109274509A (zh) 2019-01-25
CN109274509B CN109274509B (zh) 2021-03-12

Family

ID=65154025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810961774.9A Active CN109274509B (zh) 2018-08-22 2018-08-22 广播状态确定方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109274509B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887214A (zh) * 2021-01-08 2021-06-01 北京灵汐科技有限公司 广播方法、第一节点、片上网络、传输方法、设备、介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1033844A2 (en) * 1999-03-01 2000-09-06 Fujitsu Limited Status change notification method and system
CN101415084A (zh) * 2007-10-17 2009-04-22 Lg电子株式会社 广播系统和处理紧急警报消息的方法
CN102132560A (zh) * 2008-08-20 2011-07-20 三星电子株式会社 发送广播数据的方法和设备以及接收广播数据的方法和设备
CN106919459A (zh) * 2017-03-10 2017-07-04 广东欧珀移动通信有限公司 一种广播接收者的管理方法、装置及终端
CN107968881A (zh) * 2017-11-22 2018-04-27 珠海市魅族科技有限公司 终端设备广播处理方法及装置、终端设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1033844A2 (en) * 1999-03-01 2000-09-06 Fujitsu Limited Status change notification method and system
CN101415084A (zh) * 2007-10-17 2009-04-22 Lg电子株式会社 广播系统和处理紧急警报消息的方法
CN102132560A (zh) * 2008-08-20 2011-07-20 三星电子株式会社 发送广播数据的方法和设备以及接收广播数据的方法和设备
CN106919459A (zh) * 2017-03-10 2017-07-04 广东欧珀移动通信有限公司 一种广播接收者的管理方法、装置及终端
CN107968881A (zh) * 2017-11-22 2018-04-27 珠海市魅族科技有限公司 终端设备广播处理方法及装置、终端设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887214A (zh) * 2021-01-08 2021-06-01 北京灵汐科技有限公司 广播方法、第一节点、片上网络、传输方法、设备、介质
CN112887214B (zh) * 2021-01-08 2022-10-25 北京灵汐科技有限公司 广播方法、第一节点、片上网络、传输方法、设备、介质

Also Published As

Publication number Publication date
CN109274509B (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
US10958608B1 (en) Ephemeral gallery of visual media messages
US9507555B2 (en) System for the network monitoring of 3D printing and method thereof
CN108920116A (zh) 投屏设备的控制方法、装置、设备及存储介质
CN104753757A (zh) 消息显示方法及系统
CN110071855A (zh) 设备联动控制方法、装置、系统、网关及存储介质
CN109189421A (zh) 基于烧录系统服务器的烧录管理方法、装置及烧录系统
CN110912805B (zh) 消息读取状态的同步方法、终端、服务端及系统
CN113746821A (zh) 智能设备控制方法、装置、存储介质及电子设备
CN115480939A (zh) 一种基于消息队列的数据共享方法、装置及系统
CN105589739B (zh) 一种流程控制系统及方法
CN109274509A (zh) 广播状态确定方法、装置、电子设备及存储介质
CN111526046A (zh) 一种bmc时间的设置方法、装置、设备和存储介质
CN102902574B (zh) 一种多信息流节点的协同处理方法及装置
CN110377331A (zh) 发布应用程序的监控方法、装置、设备及存储介质
CN109743225B (zh) 数据测试方法、装置、存储介质及计算机设备
CN108132836A (zh) 一种任务分发方法、装置及电子设备
CN115328664B (zh) 一种消息消费方法、装置、设备及介质
CN109245979B (zh) 一种CANopen主从站可靠性控制方法及其统筹管理器
CN107741885B (zh) 基于cs架构的事务与业务关联方法、关联系统
CN107800780B (zh) 数据服务方法、装置、存储介质和计算机设备
CN107729136B (zh) 一种基于fpga的处理优先级配置方法及装置
KR101656416B1 (ko) 실시간 데이터 전송 처리 시스템의 메시지 자동 생성 장치 및 방법
CN109634943B (zh) 用于筛选数据的空调数据传输方法、装置和计算机设备
CN107070872A (zh) 一种用于客户端的数据处理方法和装置
CN112416975A (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