CN107968881A - 终端设备广播处理方法及装置、终端设备及存储介质 - Google Patents

终端设备广播处理方法及装置、终端设备及存储介质 Download PDF

Info

Publication number
CN107968881A
CN107968881A CN201711172896.1A CN201711172896A CN107968881A CN 107968881 A CN107968881 A CN 107968881A CN 201711172896 A CN201711172896 A CN 201711172896A CN 107968881 A CN107968881 A CN 107968881A
Authority
CN
China
Prior art keywords
application program
broadcast singal
broadcast
monitoring
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.)
Withdrawn
Application number
CN201711172896.1A
Other languages
English (en)
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.)
Meizu Technology Co Ltd
Original Assignee
Meizu Technology Co 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 Meizu Technology Co Ltd filed Critical Meizu Technology Co Ltd
Priority to CN201711172896.1A priority Critical patent/CN107968881A/zh
Publication of CN107968881A publication Critical patent/CN107968881A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72463User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions to restrict the functionality of the device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Abstract

本发明提供一种终端设备广播处理方法及装置、终端设备及计算机可读存储介质,该方法包括接收广播发送方发出的广播信号,获取该广播信号监听队列中的目标应用程序;判断目标应用程序是否为该广播信号监听限制的应用程序,如是,禁止向目标应用程序发送该广播信号。该装置包括多个模块,用于实现上述的终端设备广播处理方法。本发明的终端设备具有处理器以及存储器,处理器执行计算机程序时可以实现上述的终端设备广播处理方法。本发明的计算机可读存储介质上存储有用于实现上述方法计算机程序。本发明可以避免大量应用程序接收广播信号而导致终端设备运行缓慢。

Description

终端设备广播处理方法及装置、终端设备及存储介质
技术领域
本发明涉及电子设备的控制领域,具体地,是在一种控制终端设备广播信号发送的方法以及实现这种方法的装置,还涉及一种实现上述方法的终端设备以及计算机可读存储介质。
背景技术
智能手机、平板电脑等终端设备成为人们日常生活中最经常使用的电子设备,人们喜欢在智能电子设备上安装各种应用程序,并且在终端设备上同时运行大量的应用程序,而这些应用程序往往会接收大量的广播信号而导致终端设备的运行缓慢。
现有的很多终端设备是基于安卓操作系统开发的,安卓操作系统下的广播从中是其四大组件之一,也是安卓操作系统进行进程间通信的一种手段,并且使用非常简单方便。安卓操作系统的广播使用观察者模式,也就是基于消息的发布/订阅的事件模型建立的,广播信号的发送流程大致如下:首先,需要接收某一广播信号的应用程序进行静态注册,例如应用活动管理服务(AMS,Activity Manager Service)进行注册,这样,该应用程序被添加至该广播信号的监听队列中。然后,当某一广播信号的发送者,如广播发送方发出广播信号后,通过活动管理服务查找出符合条件的广播接收端,也就是查找出监听该广播信号的监听队列中的多个应用程序,此时,多个应用程序可以是已经进行静态监听注册的应用程序,也可以是当前后台运行的应用程序。最后,通过活动管理服务将该广播信号发送至监听队列中的每一个应用程序。
由于安卓操作系统提供了广播信号发送的通信手段,但没有进行任何权限的限制,因此,现有的一些应用程序往往使用广播的机制来实现应用程序的保持活跃度、定时、数据收集等操作,而这些操作往往不是应用程序实现其功能所需要的。
然而,有些应用程序监听大量的广播信号,不管这些信号是否对实现自身的功能是否有帮助,只要有任何广播发送就触发该应用程序,导致广播信号的监听队列中有大量的对象存在,这些对象可以是应用程序,也可以是安卓操作系统的内部进程。由于安卓操作系统的广播信号的发送是单线程操作,因此向大量的对象发送广播信号将大大影响操作系统的性能,造成某一广播信号发送的时候,操作系统往往会卡顿一下,严重影响终端设备的使用。
当应用程序对某一广播信号进行静态注册后,当广播发送方发出该广播信号后,即使该应用程序并没有运行,广播信号也会发送至该应用程序,从而导致该应用程序被激活,进而实提高该应用程序的活跃度,也就是实现应用程序的保活。由于大量应用程序对广播信号进行静态注册,往往导致广播信号被发送时,需要向大量并不在运行的应用程序发送广播信号,导致操作系统运行缓慢。
以屏幕被点亮的广播信号为例,由于大部分应用程序都会监听该广播信号而不管该广播信号对应用程序是否有用,并且有一部分应用程序在接收到该广播信号的时候进行数据收集上传或者广告推送的操作,因此,当终端设备屏幕被点亮的一瞬间,大部分应用程序都会运行起来而需要很多的CPU资源以及内存资源,屏幕被点亮的广播信号也是应用程序运行超时异常最多的场景。
发明内容
本发明的第一目的是提供一种避免应用程序过多接收广播信号的终端设备广播处理方法。
本发明的第二目的是提供一种减小应用程序接收的广播信号的终端设备广播处理装置。
本发明的第三目的是提供一种能够实现上述终端设备广播处理方法的终端设备。
本发明的第四目的是提供一种被处理器读取并执行时能够实现上述终端设备广播处理方法的计算机可读存储介质。
为了实现上述的第一目的,本发明提供的终端设备广播处理方法包括:接收广播发送方发出的广播信号,获取该广播信号监听队列中的目标应用程序;判断目标应用程序是否为该广播信号监听限制的应用程序,如是,限制向目标应用程序发送该广播信号,否则,向目标应用程序发送该广播信号。
由上述方案可见,当广播发送方发出广播信号后,并不是直接向广播信号监听队列中的所有应用程序发送该广播信号,而是仅向不是监听限制的应用程序发送该广播信号,这样,可以避免大量的应用程序接收到广播信号,从而避免在广播接收端发出某一广播信号后,导致操作系统运行缓慢。
一个优选的方案是,判断目标应用程序是否为该广播信号监听限制的应用程序前,确定目标应用程序为正在后台运行的应用程序;如确定目标应用程序为前台运行的应用程序,则向目标应用程序发送该广播信号。
由此可见,对于当前前台运行的应用程序,不管该应用程序是否为监听限制的应用程序,均向前台运行的应用程序发送广播信号,从而避免对广播信号发送的过多限制导致广播信号发送不及时而影响应用程序的正常运行。
进一步的方案是,监听队列中的多个应用程序包括静态监听应用程序以及当前后台运行的应用程序;确定该广播信号监听队列中的静态监听应用程序包括:接收应用程序静态监听注册请求,判断发出静态监听注册请求的应用程序是否为允许静态监听的应用程序,如是,将该应用程序添加至该广播信号的监听队列中,否则,禁止将该应用程序添加至该广播信号的监听队列中。
可见,通过在应用程序注册的时候,禁止部分应用程序静态监听注册,从而避免广播信号监听队列中存在大量的监听对象,一方面能够减小向应用程序发送广播信号的数量,另一方面也减小对应用程序是否为监听限制的判断数量,从而提高广播信号发送的效率。
更进一步的方案是,将应用程序添加至广播信号的监听队列后,还执行:接收应用程序被移除的信号,查找添加有被移除的应用程序作为静态监听的应用程序的监听队列,并将被移除的应用程序从监听队列中删除。
由此可见,当某一应用程序被移除,例如从终端设备上卸载或者被删除,则将该应用程序所有的静态监听注册信息删除,从而避免监听队列中存在大量把已经被移除的应用程序,减小向应用程序发出广播信号的数量。
更进一步的方案是,设定广播信号的级别;判断目标应用程序是否为该广播信号监听限制的应用程序前,确定当前接收的广播信号为预设级别的广播信号;如果当前接收的广播信号不是预设级别的广播信号,则向目标应用程序发送该广播信号。
可见,通过对广播信号的级别进行设定,对于级别较高的广播信号,如较为重要的广播信号,不对接收该广播信号的应用程序进行任何限制,即任何应用程序只需希望接收该广播信号,都允许该应用程序接收该广播信号。对于重要级别较低的广播信号,才执行广播信号接收限制,不允许部分应用程序接收该广播信号,从而避免应用程序没有接收到重要的广播信号。
为实现上述的第二目的,本发明提供的终端设备广播处理装置包括广播信号接收模块,用于接收广播发送方发出的广播信号;应用程序获取模块,用于获取该广播信号监听队列中的目标应用程序;广播信号处理模块,用于判断目标应用程序是否为该广播信号监听限制的应用程序,如是,禁止向目标应用程序发送该广播信号,否则,向目标应用程序发送该广播信号。
优选的方案是,监听队列中的多个应用程序包括静态监听应用程序以及当前后台运行的应用程序;该装置还包括静态监听应用程序确定模块,用于接收应用程序静态监听注册请求,判断发出静态监听注册请求的应用程序是否为允许静态监听的应用程序,如是,将该应用程序添加至该广播信号的监听队列中,否则,禁止将该应用程序添加至该广播信号的监听队列中。
为实现上述的第三目的,本发明提供的终端设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现上述终端设备广播处理方法的各个步骤。
为实现上述的第四目的,本发明提供的计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述终端设备广播处理方法的各个步骤。
附图说明
图1是本发明终端设备广播处理方法实施例的流程图。
图2是本发明终端设备广播处理方法实施例中确定静态监听应用程序的流程图。
图3是本发明终端设备广播处理方法实施例中将应用程序从监听队列中删除的流程图。
图4是本发明终端设备广播处理装置实施例的结构框图。
图5是本发明终端设备实施例的结构框图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明终端设备广播处理方法是应用在诸如智能手机或者平板电脑等终端设备上,用于实现对广播信号的发送的限制。本发发明的内存回收装置运行在终端设备上,并且用于实现上述的终端设备广播处理方法。
终端设备广播处理方法实施例:
下面结合图1介绍本实施例的广播信号处理方法。
首先,执行步骤S101,接收广播发送方发出的广播信号。
通常,终端设备被某一事件触发后,将由一个广播发送方发出广播信号。例如,在终端设备处于锁屏状态时,当使用者按下终端设备的电源键,终端设备将接收到电源键被按下的信号,从而触发屏幕点亮的操作。当屏幕点亮后,由广播发送方通过活动管理服务AMS发出屏幕点亮的广播信号。当然,屏幕点亮不一定是由使用者按下电源键触发的,还可以是终端设备接收到通知信息,如新的短信、微信或者来电,都可以触发屏幕的点亮。不管任何原因导致屏幕点亮,广播发送方都发出屏幕点亮的广播信号。
当然,屏幕点亮是一种常见的广播信号,除此之外,诸如终端设备网络连接状态的改变、WIFI连接状态改变、蓝牙连接被触发,甚至是某一计时时间的结束、某一数据包的状态发生变化等,都可能导致广播信号的发送。
步骤S102,判断是否存在监听该广播信号的应用程序,如是,转入步骤S103,否则,结束流程。
当广播发送方发出广播信号后,终端设备的操作系统需要判断是否有应用程序监听该广播信号,本实施例中,监听某一广播信号的应用程序可以是当前后台运行的应用程序,也可以是当前并未运行的应用程序。如果有应用程序监听某一广播信号,则该广播信号有对应的监听队列,监听队列中包含有多个对象,如监听该广播信号的应用程序,包括静态监听的应用程序以及当前运行的应用程序。
对于不同的广播信号,有不同的监听队列,也就是不同的应用程序会监听一个或多个的广播信号,并不是每一个应用程序均监听所有的广播信号,因此,每一个广播信号将有自己对应的监听队列,而且不同广播信号的监听队列的监听对象也不相同。因此,步骤S102可以通过判断该广播信号是否存在监听队列来判断是否存在有监听该广播信号的应用程序。
步骤S103,获取该广播信号监听队列中的目标应用程序。
在确定当前接收的广播信号存在监听队列后,获取该监听队列,并且从监听队列中获取一个目标应用程序。目标应用程序是监听该广播信号的一个应用程序,该应用程序可以是当前运行的应用程序,也可以是当前并未运行、但需要监听该广播信号的应用程序。
步骤S104,判断目标应用程序是否为前台运行的应用程序,如是,转入步骤S107,否则,执行步骤S105。
在获取目标应用程序后,通过对目标应用程序的运行状态进行分析,判断出当前所获取的目标应用程序是否在前台运行。因此,首先需要判断目标应用程序是否正在运行,如果目标应用程序不是正在运行,表示目标应用程序是一个静态监听该广播信号的应用程序。如果目标应用程序正在运行,还需要判断目标应用程序是在前台运行还是后台运行,例如通过获取目标应用程序的运行标志来确定目标应用程序的运行状态。
步骤S105,判断目标应用程序是否为该广播信号的监听限制的应用程序,如是,转入步骤S106,否则,执行步骤S107。
在确定目标应用程序并不是前台运行的应用程序后,在还需要进一步判断目标应用程序是否为监听限制的应用程序。例如,如是设定某一应用程序不需要接收某一广播信号,则该应用程序就是监听限制的应用程序。
本实施例中,可以设定针对每一广播信号的监听允许名单,监听允许名单中包含有多个允许接收该广播信号的应用程序的名单,可以理解,监听允许名单就是允许监听某一广播信号的白名单。在步骤S105中,通过判断目标应用程序是否在该广播信号监听允许名单中,如目标应用程序不在监听允许名单中,则可以确定目标应用程序为该广播信号监听限制的应用程序,此时步骤S105的判断结果为是。如果目标应用程序存在于监听允许名单中,则表示目标应用程序允许接收该广播信号,则步骤S105的判断结果为否。
当然,操作系统需要根据每一广播信号的情况确定监听允许名单,例如,针对屏幕点亮的广播信号,确定哪些应用程序允许接收该广播信号,并且将允许接收该广播信号的应用程序添加到监听允许名单中。并且,操作系统可以根据实际情况调整监听允许名单 ,例如,某一新安装的应用程序需要监听屏幕点亮的广播信号,则操作系统需要根据该应用程序的功能,判断该应用程序是否有必要获取屏幕点亮的信号,如果没有必要获取,则不将该应用程序添加至监听允许名单中,如果该应用程序有必要监听屏幕点亮的广播信号,则将该应用程序添加至监听允许名单中。
当然,监听允许名单可以由操作系统预先设定,并且可以通过开发者发布更新的方式更新监听允许名单,操作系统也相应的修订该监听允许名单,从而让更多应用程序监听某一广播信号,或者将某些不必要的应用程序从监听允许名单中删除。另一种实施方式是,可以由终端设备的使用者自行确定监听允许名单,例如,从默认的监听允许名单中添加新的应用程序,或者从监听允许名单中删除某些应用程序。
步骤S106,限制向目标应用程序发送广播信号。
如果确定目标应用程序不在监听允许名单中,也就是确定目标应用程序是监听限制的应用程序,则限制向目标应用程序发送广播信号,例如,禁止向目标应用程序发送广播信号,也就是不会向目标应用程序发送广播信号。这样,目标应用程序并不会接收到该广播信号,从而避免大量的应用程序接收到广播信号并执行与自身的功能并不相关的操作,避免终端设备在某一广播信号发送时导致大量的应用程序响应而导致运行缓慢的现象。
当然,限制向目标应用程序发送广播信号也可以是不在接收到广播信号后,马上向目标应用程序发送广播信号,而是经过一段时间,如3秒或者5秒后,再向目标应用程序发送广播信号,这样也可以避免同一时间内向大量的应用程序发送广播信号。或者,限制向目标应用程序发送广播信号还可以是接收到广播信号后,向使用者发出提示信息,提示是否允许该应用程序接收广播信号,如果使用者发出确认可以向目标应用程序发送广播信号的指令,则向目标应用程序发送广播信号。
可见,步骤S106中,并不是绝对禁止向目标应用程序发送广播信号,而是有条件的向目标应用程序发送广播信号,这样也可以避免同一时间向大量的应用程序发送广播信号。
步骤S107,向目标应用程序发送广播信号。
如果确定目标应用程序是前台运行的应用程序,或者目标应用程序在监听允许名单中,也就是确定目标应用程序不是监听限制的应用程序,则允许向目标应用程序发送广播信号。
可见,如果目标应用程序是前台运行的应用程序,则直接向目标应用程序发送广播信号,而不需要判断目标应用程序是否为监听限制的应用程序,如果目标应用程序是后台运行的应用程序,则还需要判断目标应用程序是否为监听限制的应用程序,只有允许接收该广播信号的应用程序,才会接收到该广播信号。这样,对于前台运行的应用程序,是不受监听限制的影响的,确保前台运行的应用程序必然接收到广播信号。
可以理解,本实施例的监听限制实际上是后台监听限制,也就是限制正在后台运行的应用程序接收某一广播信号,从而避免大量后台运行的应用程序接收到广播信号而执行相应的操作。
上述的流程是对已经存在与监听队列的应用程序进行监听限制的流程,但由于大量的应用程序注册监听广播信号,因此,需要限制应用程序注册静态监听广播信号,从而减小监听队列中的应用程序的数量,一方面可以避免大量的应用程序静态监听广播信号,另一方面可以减小接收到广播信号后,对大量的应用程序是否为监听限制的应用程序进行判断,也避免监听队列过长。
下面结合图2介绍限制应用程序静态注册监听广播信号的流程。
步骤S201,接收应用程序静态监听注册请求。
应用程序安装的时候,通常会请求监听某些广播信号,例如请求监听屏幕点亮的广播信号,或者监听网络连接状态改变的广播信号。因此,在应用程序安装的时候,将需要监听的广播信号的清单发送至活动管理服务的进程中,并通过活动管理服务进行静态监听请求的注册。
如果某一应用程序被允许静态监听某一广播信号,则在操作系统接收到该广播信号后,不管该应用程序是否正在运行,都将该应用程序发送该广播信号。例如,某一即时通信应用程序被允许静态监听网络连接状态变化的广播信号,当网络连接状态发生变化时,也就是发出了网络连接状态变化的广播信号后,即使该即时通信应用程序没有运行,操作系统都向该即时通信应用程序发送网络连接状态改变的广播信号。
步骤S202,判断发出静态监听注册请求的应用程序是否为允许静态监听的应用程序,如是,转入步骤S203,否则,执行步骤S204。
接收到应用程序发出的静态监听注册请求后,随即对该应用程序是否允许静态监听进行判断,例如,应用程序发出了静态监听某一广播信号的请求,则需要判断该应用程序是否有必要静态监听该广播信号,如果判断该应用程序没有必要静态监听该广播信号,则步骤S202的判断结果为否,如果判断该应用程序有必要静态监听该广播信号,则步骤S202的判断结果为是。
需要说明的是,同一应用程序针对不同的广播信号,是否允许静态监听的结果往往是不相同的,因此,步骤S202需要针对每一个应用程序对每一个广播信号是否允许静态监听进行判断。例如,某一即时通讯应用程序发出静态监听网络状态变化的广播时,基于即时通讯应用程序有必要监听网络状态变化的需求,因此允许该即时通讯应用程序监听网络状态变化的广播信号。但该即时通讯应用程序发出静态监听计时时间变化的广播信号,基于即时通讯应用程序没有必要监听计时时间变化的需求,因此不允许该即时通讯应用程序监听计时时间变化的广播信号。
优选的,操作系统可以预先设置静态监听允许名单,也就是针对每一个广播信号预先设定允许静态监听的白名单,该名单中包含有多个允许静态监听该广播信号的应用程序,执行步骤S202时,通过获取该名单并判断发出静态监听请求的应用程序是否在该名单中,如果不在该名单中,则步骤S202的判断结果为否,如果应用程序在该名单中,则判断结果为是。
步骤S203,将发出静态监听注册请求的应用程序添加至该广播信号的监听队列中。
如果确定发出静态监听请求的应用程序是允许监听该广播信号的应用程序,则将该应用程序添加至该广播信号的监听队列中。例如,某一即时通讯应用程序需要监听网络连接状态变化的广播信号,由于判断该即时通讯应用程序有需要监听网络连接状态变化的广播信号,因此将该即时通讯应用程序添加至网络连接状态变化的广播信号的监听队列中。
当应用程序被添加至广播信号的监听队列后,该应用程序成为该广播信号的静态监听应用程序,也就是该应用程序可以静态监听该广播信号,当广播发送方发出该广播信号时,不管该应用程序是否正在运行,都向该应用程序发送广播信号。
步骤S204,禁止将发出静态监听注册请求的应用程序添加至该广播信号的监听队列中。
如果确定发出静态监听请求的应用程序不是允许监听该广播信号的应用程序,则禁止将该应用程序添加至该广播信号的监听队列中。例如,某一即时通讯应用程序需要监听计时时间变化的广播信号,由于判断该即时通讯应用程序没有需要监听计时时间变化的广播信号,因此禁止将该即时通讯应用程序添加至计时时间变化的广播信号的监听队列中。这样,只要该即时通讯应用程序不在运行,即使广播发送方发出了该广播信号,也不会向该即时通讯应用程序发送该广播信号,从而避免大量的应用程序静态的监听某一广播信号。
通过上述的方法,可以有效的避免过多应用程序静态监听广播信号,也可以避免向大量的正在后台运行的应用程序发送广播信号。然而,有些应用程序已经从终端设备移除,如果不及时将这些应用程序从监听队列中删除,则也会导致监听队列中存在大量实际上已经移除的应用程序。下面结合图3介绍本实施例对已经移除的应用程序从监听队列中删除的方法。
步骤S301,接收应用程序被移除的信号。
当某一应用程序被移除,例如从终端设备上卸载,也就是终端设备上已经不存在该应用程序,则操作系统的注册机上将记录该应用程序状态的变化,注册机也会发出该应用程序被移除的信号。此时,活动管理服务的进程可以通过接收该应用程序被移除的信号来确定该应用程序是否已经被移除。
步骤S302,查找添加有被移除的应用程序作为静态监听应用程序的广播信号的监听队列。
当某一应用程序被移除后,遍历所有的广播信号的监听队列,查找出添加有已经被移除的应用程序作为静态监听的应用程序的广播信号的监听队列。例如,当某一即时通讯应用程序被移除,通过活动管理服务的进程遍历每一个广播信号的监听队列后,查找出添加有该即时通讯应用程序作为静态监听的应用程序的广播信号的监听队列,如查找出计时时间变化的广播信号监听队列等多条监听队列。
步骤S303,将已经移除的应用程序从查找出的监听队列中移除。
在查找到添加有被移除的应用程序作为静态监听应用程序的广播信号的监听队列后,将已经被移除的应用程序从该监听队列中删除,例如将已经被移除的即时通讯应用程序从监听计时时间变化的广播信号的监听队列中移除。
当然,如果步骤S302中查找出有多条队列,则需要对每一条监听队列进行一次删除操作,从而确保凡是添加有已经移除的应用程序作为静态监听应用程序的监听队列中,都不存在已经移除的应用程序,这样可以避免监听队列中存在大量实际上已经移除的应用程序,从而减小监听队列的长度,也可以减小广播信号的发送数量。
由于不同的广播信号的重要程度不相同,例如,网络连接状态变化的广播信号是非常重要的广播信号,而计时时间变化的广播信号则是并不重要的广播信号。对应不同重要程度的广播信号,如果都采用相同的标准进行广播信号接收的限制,往往会影响终端设备的正常运行,因此,本实施例中,对广播信号按照其重要程度分成多个级别,例如设定广播信号的级别。
对于非常重要的广播信号,可以将其设定为第一级别的广播信号,例如,针对网络状态变化的广播信号(android.net.conn.CONNECTIVITY_CHANGE),可以将其设定为第一级别的广播信号。对于较为重要的广播信号,如数据包变化的广播信号(android.intent.action.PACKAGE_CHANGED),可以将其设定为第二级别的广播信号,对于重要性较低的广播信号,如计时时间变化的广播信号(android.intent.action.TIME_TICK),可以将其设定为第三级别的广播信号。
可见,第一级别的广播信号重要性最高,也就是其重要性高于第二级别与第三级别的广播信号,而第二级别的广播信号的重要性高于第三级别的广播信号。
对于不同级别的广播信号,监听限制的策略也不相同,例如,针对第一级别的广播信号,采用不限制监听的策略,也就是不限制任何应用程序监听该广播信号,因此,所有应用程序都是被允许监听第一级别的广播信号,也就是允许所有应用程序静态监听注册,也允许所有应用程序后台监听第一级别的广播信号。可以理解,对于第一级别广播信号,所有应用程序都在其允许监听的名单之中。
因此,可以在执行步骤S105前,也就是判断目标应用程序是否为该广播信号监听限制的应用程序前,确定当前接收的广播信号为预设级别的广播信号,例如是否为第二级别或者第三级别的广播信号,如果当前接收的广播信号不是预设级别的广播信号,即不是第二级别或者第三级别的广播信号,则当前接收到的广播信号实际上是第一级别的广播信号,则直接向目标应用程序发送该广播信号。因此,对于第一级别的广播信号,是直接向监听队列中的所有应用程序发送广播信号的,而不需要对应用程序的监听限制进行判断。或者可以理解为,对于第一级别的广播信号,不存在监听限制的应用程序,任何需要监听第一级别广播信号的应用程序都在第一级别广播信号的监听允许名单之中。
对于第二级别的广播信号,则需要设定可以监听的应用程序清单,也就是只允许一部分应用程序静态监听第二级别的广播信号,此时设定该广播信号的允许监听清单,并且需要对应用程序是否允许监听进行判断,只有允许静态监听的应用程序,才可以添加至监听队列中,也只有允许后台监听的应用程序,才向该应用程序发送广播信号。
对于第三级别的广播信号,则可以完全限制监听,如不允许任何应用程序监听该广播信号。例如,android.intent.action.TIME_TICK广播信号是由系统每分钟发出一次的广播信号,用于提示当前时间过去了一分钟。然而,该广播信号对于应用程序没有实际作用,因此,可以禁止所有应用程序接收该广播信号,此时该广播信号的允许监听名单并不存在任何的应用程序,同时也不允许任何应用程序后台监听该广播信号,因此,只有前台运行的应用程序能够接收到该广播信号。
可见,本发明通过对监听广播信号的应用程序进行限制,可以减小监听广播信号的应用程序的数量,避免在广播信号发送时,大量的应用程序做出响应而导致操作系统的运行缓慢。
终端设备广播处理装置实施例:
下面结合图4介绍本实施例。本实施例的终端设备处理装置包括广播信号接收模块401、应用程序获取模块402、广播信号处理模块403、静态监听应用程序确定模块404以及静态监听应用程序删除模块405。
广播信号接收模块401用于接收广播发送方发出的广播信号,例如通过活动管理服务AMS接收系统发出的屏幕点亮或者网络连接状态变化等广播信号。
应用程序获取模块402用于获取广播信号接收模块401接收的广播信号监听队列中的目标应用程序。优选的,获取该广播信号监听队列中的一个应用程序前,确定该广播信号监听队列中的多个应用程序,其中,监听队列中的多个应用程序包括静态监听应用程序以及当前运行的应用程序,包括前台运行的应用程序以及后台运行的应用程序。
广播信号处理模块403用于判断目标应用程序是否为该广播信号监听限制的应用程序,如果确定目标应用程序是监听限制应用程序,则限制向目标应用程序发送该广播信号,如果不是监听限制应用程序,则向目标应用程序发送该广播信号。
当然,广播信号处理模块403在判断目标应用程序是否为监听限制应用程序前,还可以判断目标应用程序是否为前台运行的应用程序,如果是前台运行的应用程序,则直接向目标应用程序发送广播信号,而不需要再判断目标应用程序是否为监听限制应用程序。只有判断目标应用程序是不是前台运行的应用程序时,才判断目标应用程序是否为监听限制的应用程序。
静态监听应用程序确定模块404用于接收应用程序静态监听注册请求,并判断发出静态监听注册请求的应用程序是否为允许静态监听的应用程序,如果是允许静态监听的应用程序,将该应用程序添加至该广播信号的监听队列中,如果不是允许静态监听的应用程序,禁止将该应用程序添加至该广播信号的监听队列中。
静态监听应用程序删除模块405用于在应用程序被移除后,将添加有已经被移除的应用程序作为静态监听的监听队列中,将已经被移除的应用程序删除。
终端设备实施例:
本发明实施例还提供了一种终端设备,如图5所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)等任意终端设备。
参考图5,终端设备包括:电源503、存储器502、处理器501以及存储在存储器中并可在处理器上运行的计算机程序。其中,处理器501执行计算机程序时实现上述各个终端设备广播处理方法实施例中的步骤,例如图1所示的步骤S101至S107等。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本发明。上述的一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
本领域技术人员可以理解,图5中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如上述的终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时。
计算机可读存储介质实施例:
本发明的实施例还提供一种计算机可读存储介质,用于实现上述终端设备广播处理方法的计算机程序可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,广播信号改变、对广播信号划分的级别的改变,这样的改变并不影响本发明的实施,也应该包括在本发明的保护范围内。

Claims (10)

1.一种终端设备广播处理方法,其特征在于,包括:
接收广播发送方发出的广播信号,获取该广播信号监听队列中的目标应用程序;
判断所述目标应用程序是否为该广播信号监听限制的应用程序,如是,限制向所述目标应用程序发送该广播信号。
2.根据权利要求1所述的终端设备广播处理方法,其特征在于,判断所述目标应用程序是否为该广播信号监听限制的应用程序前,确定所述目标应用程序为正在后台运行的应用程序;
如确定所述目标应用程序为前台运行的应用程序,则向所述目标应用程序发送该广播信号。
3.根据权利要求1或2所述的终端设备广播处理方法,其特征在于,所述监听队列中的多个应用程序包括静态监听应用程序以及当前后台运行的应用程序;
确定该广播信号监听队列中的静态监听应用程序包括:接收应用程序静态监听注册请求,判断发出静态监听注册请求的应用程序是否为允许静态监听的应用程序,如是,将该应用程序添加至该广播信号的监听队列中。
4.根据权利要求3所述的终端设备广播处理方法,其特征在于,将应用程序添加至广播信号的监听队列后,还执行:接收应用程序被移除的信号,查找添加有被移除的应用程序作为静态监听的应用程序的监听队列,并将被移除的应用程序从监听队列中删除。
5.根据权利要求1或2所述的终端设备广播处理方法,其特征在于,设定广播信号的级别;
判断所述目标应用程序是否为该广播信号监听限制的应用程序前,确定当前接收的广播信号为预设级别的广播信号;
如果当前接收的广播信号不是预设级别的广播信号,则向所述目标应用程序发送该广播信号。
6.根据权利要求1至3任一项所述的终端设备广播处理方法,其特征在于,判断所述目标应用程序是否为该广播信号监听限制的应用程序包括:
判断所述目标应用程序是否在该广播信号监听允许名单中,如不是,确定所述目标应用程序为该广播信号监听限制的应用程序。
7.一种终端设备广播处理装置,其特征在于,包括:
广播信号接收模块,用于接收广播发送方发出的广播信号;
应用程序获取模块,用于获取该广播信号监听队列中的目标应用程序;
广播信号处理模块,用于判断所述目标应用程序是否为该广播信号监听限制的应用程序,如是,限制向所述目标应用程序发送该广播信号。
8.根据权利要求7所述的终端设备广播处理装置,其特征在于,所述监听队列中的多个应用程序包括静态监听应用程序以及当前后台运行的应用程序;
该装置还包括静态监听应用程序确定模块,用于接收应用程序静态监听注册请求,判断发出静态监听注册请求的应用程序是否为允许静态监听的应用程序,如是,将该应用程序添加至该广播信号的监听队列中。
9.一种终端设备,其特征在于,所述终端设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6中任意一项所述的终端设备广播处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的终端设备广播处理方法的步骤。
CN201711172896.1A 2017-11-22 2017-11-22 终端设备广播处理方法及装置、终端设备及存储介质 Withdrawn CN107968881A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711172896.1A CN107968881A (zh) 2017-11-22 2017-11-22 终端设备广播处理方法及装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711172896.1A CN107968881A (zh) 2017-11-22 2017-11-22 终端设备广播处理方法及装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN107968881A true CN107968881A (zh) 2018-04-27

Family

ID=61999766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711172896.1A Withdrawn CN107968881A (zh) 2017-11-22 2017-11-22 终端设备广播处理方法及装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN107968881A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274509A (zh) * 2018-08-22 2019-01-25 Oppo广东移动通信有限公司 广播状态确定方法、装置、电子设备及存储介质
CN110609751A (zh) * 2018-06-14 2019-12-24 珠海市魅族科技有限公司 一种终端设备控制方法及装置、终端设备及计算机可读存储介质
CN110874274A (zh) * 2018-08-31 2020-03-10 广州虎牙信息科技有限公司 一种界面组件的通信管理方法、装置、设备和存储介质
CN111160956A (zh) * 2019-12-18 2020-05-15 珠海格力电器股份有限公司 一种广告播放方法、装置、电子设备及介质
CN114531497A (zh) * 2020-10-30 2022-05-24 华为技术有限公司 一种tcp保活方法、装置及系统
CN114584827A (zh) * 2022-03-01 2022-06-03 上海哔哩哔哩科技有限公司 红包处理方法和装置
CN114979158A (zh) * 2022-05-23 2022-08-30 深信服科技股份有限公司 一种资源监控方法、系统、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095064A (zh) * 2016-06-16 2016-11-09 惠州Tcl移动通信有限公司 一种移动终端禁止应用接收特定广播的方法及系统
CN106201740A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 一种广播消息管理方法、装置及设备
CN106953852A (zh) * 2017-03-10 2017-07-14 广东欧珀移动通信有限公司 广播接收器的注册方法、装置和终端设备
CN106951333A (zh) * 2017-03-10 2017-07-14 广东欧珀移动通信有限公司 一种广播控制方法、装置及移动终端
CN107070670A (zh) * 2017-03-10 2017-08-18 广东欧珀移动通信有限公司 控制广播发送者发送广播消息的方法、装置和终端设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095064A (zh) * 2016-06-16 2016-11-09 惠州Tcl移动通信有限公司 一种移动终端禁止应用接收特定广播的方法及系统
CN106201740A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 一种广播消息管理方法、装置及设备
CN106953852A (zh) * 2017-03-10 2017-07-14 广东欧珀移动通信有限公司 广播接收器的注册方法、装置和终端设备
CN106951333A (zh) * 2017-03-10 2017-07-14 广东欧珀移动通信有限公司 一种广播控制方法、装置及移动终端
CN107070670A (zh) * 2017-03-10 2017-08-18 广东欧珀移动通信有限公司 控制广播发送者发送广播消息的方法、装置和终端设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609751A (zh) * 2018-06-14 2019-12-24 珠海市魅族科技有限公司 一种终端设备控制方法及装置、终端设备及计算机可读存储介质
CN110609751B (zh) * 2018-06-14 2024-01-23 珠海市魅族科技有限公司 一种终端设备控制方法及装置、终端设备及计算机可读存储介质
CN109274509A (zh) * 2018-08-22 2019-01-25 Oppo广东移动通信有限公司 广播状态确定方法、装置、电子设备及存储介质
CN110874274A (zh) * 2018-08-31 2020-03-10 广州虎牙信息科技有限公司 一种界面组件的通信管理方法、装置、设备和存储介质
CN110874274B (zh) * 2018-08-31 2023-03-21 广州虎牙信息科技有限公司 一种界面组件的通信管理方法、装置、设备和存储介质
CN111160956A (zh) * 2019-12-18 2020-05-15 珠海格力电器股份有限公司 一种广告播放方法、装置、电子设备及介质
CN114531497A (zh) * 2020-10-30 2022-05-24 华为技术有限公司 一种tcp保活方法、装置及系统
CN114584827A (zh) * 2022-03-01 2022-06-03 上海哔哩哔哩科技有限公司 红包处理方法和装置
CN114584827B (zh) * 2022-03-01 2024-02-06 上海哔哩哔哩科技有限公司 红包处理方法和装置
CN114979158A (zh) * 2022-05-23 2022-08-30 深信服科技股份有限公司 一种资源监控方法、系统、设备及计算机可读存储介质
CN114979158B (zh) * 2022-05-23 2024-04-09 深信服科技股份有限公司 一种资源监控方法、系统、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN107968881A (zh) 终端设备广播处理方法及装置、终端设备及存储介质
CN108449410B (zh) 一种云平台中消息管理方法、系统及相关装置
CN109152095B (zh) 用于终端的无线网络连接方法
CN111327519A (zh) 一种多渠道消息内容的发送方法、装置、设备及存储介质
CN106844026B (zh) 一种清理终端设备进程的方法及系统
CN109246741B (zh) 用于终端的无线网络连接方法
CN109756528B (zh) 频率控制方法及装置、设备、存储介质、服务器
CN106569585A (zh) 一种管理应用程序进程的方法及终端
CN105224421B (zh) 一种数据备份方法、装置及电子设备
CN107302493B (zh) 一种消息处理方法、消息处理装置及智能终端
CN107748698A (zh) 以广播方式启动应用的控制方法、装置、存储介质及终端
CN106851015B (zh) 调整广播消息队列的方法、装置及终端
CN107957913A (zh) 关联启动的管控方法、装置、存储介质及移动终端
CN112672357A (zh) 处理业务系统中用户账号的方法、装置及计算机设备
CN109348434B (zh) 一种场景信息的发送方法、发送装置及终端设备
CN111581502A (zh) 一种信息通知方法及装置
CN111132132A (zh) 一种流量管理方法、装置及终端设备
US20240089923A1 (en) Paging Method, Electronic Device, and Non-Transitory Readable Storage Medium
CN114285849A (zh) 限流状态的调整方法和装置、存储介质及电子装置
CN106851016A (zh) 广播消息排队的方法、装置及终端
CN109005465B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN107943268B (zh) 调度作业控制方法、装置、终端设备及存储介质
CN111338710A (zh) 应用程序控制方法、装置、电子设备及存储介质
CN106850458B (zh) 广播消息排队的方法、装置及终端
CN107124353B (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20180427

WW01 Invention patent application withdrawn after publication