WO2017166117A1 - 广播的管控方法、装置及终端 - Google Patents

广播的管控方法、装置及终端 Download PDF

Info

Publication number
WO2017166117A1
WO2017166117A1 PCT/CN2016/077844 CN2016077844W WO2017166117A1 WO 2017166117 A1 WO2017166117 A1 WO 2017166117A1 CN 2016077844 W CN2016077844 W CN 2016077844W WO 2017166117 A1 WO2017166117 A1 WO 2017166117A1
Authority
WO
WIPO (PCT)
Prior art keywords
broadcast
application
preset
terminal
running
Prior art date
Application number
PCT/CN2016/077844
Other languages
English (en)
French (fr)
Inventor
黄文�
郭玉华
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to US16/089,447 priority Critical patent/US10635510B2/en
Priority to PCT/CN2016/077844 priority patent/WO2017166117A1/zh
Priority to CN201680009868.5A priority patent/CN107548489B/zh
Priority to EP16895898.1A priority patent/EP3418892B1/en
Publication of WO2017166117A1 publication Critical patent/WO2017166117A1/zh
Priority to US16/803,476 priority patent/US11429461B2/en

Links

Images

Classifications

    • 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/544Buffers; Shared memory; Pipes
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • 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

Definitions

  • the present invention relates to the field of mobile communications technologies, and in particular, to a broadcast control method, apparatus, and terminal.
  • broadcast is a communication mechanism between processes and is widely used in many operating systems. Broadcasts can be used to pass data, send notifications, and more. However, it is precisely because broadcasting is widely used, so there are some inevitable problems. For example, when the application is running in the background, although it is temporarily not used by the user, the application can receive the broadcast frequently, and the self-starting is realized by using the broadcast, thereby consuming the power of the terminal device.
  • Embodiments of the present invention provide a method, an apparatus, and a terminal for intelligently controlling broadcast.
  • the present invention provides a method for controlling a broadcast, where the method is applied to a terminal, where the first application runs on an operating system of the terminal, and the method includes:
  • the first broadcast is cached, and the first broadcast is stopped from being sent to the first application.
  • the method further includes:
  • the running feature of the first application meets the first preset freezing condition, wherein the running feature of the first application includes a background running time of the first application in the operating system of the terminal, and the first preset freezing condition includes a background running time of the application Greater than the preset running time.
  • the second in the first aspect in combination with the first aspect or the first possible implementation of the first aspect, the second in the first aspect, the first broadcast is cached, and the sending of the first broadcast to the first application is stopped.
  • the method further includes:
  • the preset freeze broadcast includes at least one of a preset system broadcast and a preset second application broadcast.
  • the first broadcast is cached, and the sending of the first broadcast to the first application is stopped, the method further includes :
  • the running feature of the first broadcast satisfies a second preset freeze condition, wherein the running feature of the first broadcast includes a number of recipients of the first broadcast, and the second preset freeze condition includes that the number of recipients of the broadcast is greater than the preset number of recipients; or,
  • the running characteristic of the first broadcast satisfies a second preset freezing condition, wherein the running characteristic of the first broadcast comprises a sending frequency of the first broadcast, and the second preset freezing condition comprises a sending frequency of the broadcast being higher than a preset sending frequency.
  • the The method in combination with the first aspect to any one of the third possible implementation manners of the first aspect, in a fourth possible implementation manner of the first aspect, after the first broadcast is cached, after the sending to the first application is stopped, the The method also includes thawing the first broadcast and transmitting the first broadcast to the first application.
  • the method before the first broadcast is thawed, the method further includes: detecting, by the background of the operating system of the terminal by the terminal Run to switch to the foreground to run.
  • the method before the first broadcast is thawed, the method further includes: acquiring, to be sent to the first application The second broadcast, wherein the second broadcast belongs to a preset important broadcast.
  • the method includes:
  • the third broadcast is the same type of broadcast as the first broadcast, the third broadcast is cached and the cached first broadcast is deleted.
  • the present invention provides a broadcast control device, wherein the first application runs on an operating system of the terminal, and the device includes:
  • a broadcast acquisition module configured to acquire a first broadcast to be sent to the first application when the first application runs in a background of an operating system of the terminal
  • the broadcast distribution module is configured to cache the first broadcast and stop sending the first broadcast to the first application.
  • the broadcast distribution module is further configured to: determine that the running feature of the first application meets the first preset freeze condition, where the running feature of the first application includes A background running duration of the operating system of the terminal, the first preset freezing condition includes the background running time of the application being greater than the preset running time.
  • the broadcast distribution module is further configured to: determine that the first broadcast belongs to a preset freeze broadcast, where
  • the preset freeze broadcast includes at least one of a preset system broadcast and a preset second application broadcast.
  • the broadcast distribution module is further configured to: determine that the running feature of the first broadcast meets the second preset a freeze condition, wherein the running characteristic of the first broadcast includes the number of recipients of the first broadcast, and the second preset freeze condition includes the number of recipients of the broadcast being greater than the preset number of recipients; or
  • the running characteristic of the first broadcast satisfies a second preset freezing condition, wherein the running characteristic of the first broadcast comprises a sending frequency of the first broadcast, and the second preset freezing condition comprises a sending frequency of the broadcast being higher than a preset sending frequency.
  • the third aspect of the second aspect to the second aspect is any one of the implementation manners.
  • the broadcast distribution module is further configured to: thaw the first broadcast, and send The first broadcast to the first application.
  • the broadcast distribution module is further configured to detect that the first application is switched to the foreground by a background operation of the operating system of the terminal run.
  • the broadcast distribution module is further configured to acquire a second broadcast to be sent to the first application, where the second broadcast Belongs to the preset important broadcast.
  • the third aspect of the second aspect to the second aspect is any one of the implementation manners.
  • the broadcast distribution module is further configured to: acquire to be sent to the first Third broadcast of the application;
  • the third broadcast is the same type of broadcast as the first broadcast, the third broadcast is cached and the cached first broadcast is deleted.
  • an embodiment of the present invention provides a terminal, where the terminal includes a processor, a memory, a system bus, and a communication interface; the processor, the memory, and the communication interface establish a connection through the system bus, and one or more programs are to be Stored in memory and configured to be executed by the processor, the one or more programs include all instructions for performing the control method of the broadcast described in the first aspect.
  • a broadcast control method, device, and terminal provided by an embodiment of the present invention, when one or more applications are recognized to be running in the background, and certain conditions are met, one or more applications are The broadcast to be received is frozen. This solves the problem that one or more applications frequently receive broadcasts in the background, causing system stalls, and excessively consuming the power of the terminal devices, causing the terminal devices to heat up, and further improving the performance of the system. And when one or more applications are switched from the background to the foreground, and/or the defrosting conditions are met, the broadcast of one or more applications can be thawed, allowing one or more applications to process the broadcasts they are to receive.
  • FIG. 2 is a system architecture diagram of a terminal according to an embodiment of the present invention.
  • FIG. 3 is a signaling flowchart of broadcast transmission according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a method for controlling a broadcast according to an embodiment of the present invention.
  • FIG. 5 is a signaling flowchart of a defrosted broadcast according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a broadcast control device according to an embodiment of the present invention.
  • Broadcast is a messaging mechanism with senders and receivers.
  • the sender and the receiver may both be system applications in the terminal or third-party applications installed in the terminal.
  • a sender sends a broadcast message, and there may be multiple recipients.
  • the receiver can specify which broadcasts to receive.
  • the sender can also specify which receivers to send to. After receiving the broadcast, the receiver can activate or update its status in the background. If the sender or receiver has been specified, after receiving the broadcast of the sender, the broadcast distribution module does not need to query which receiver needs to receive such a broadcast, but directly sends it to the designated receiver.
  • the broadcast is sent by the sender to the broadcast distribution module of the terminal, and the broadcast distribution module distributes the broadcast to the corresponding reception.
  • the receiver has registered in advance which broadcasts need to be received, and when the processor receives these broadcasts, these broadcasts are automatically distributed to the corresponding applications).
  • Android The operating system is taken as an example. The specific broadcast distribution process is shown in FIG. 1.
  • FIG. 1 is a signaling flowchart of broadcast transmission of the Android operating system in the prior art.
  • the ActivityManagerService (referred to as AMS) system service provided by the Android operating system is used to manage various activities of the activity in the Android operating system, control the life cycle of the activity, distribute message events, perform low memory management, and the like.
  • AMS implements the IBinder interface and can be used for interprocess communication.
  • Android broadcast is divided into two aspects: broadcast sender and broadcast receiver.
  • BroadcastReceiver refers to broadcast receiver (or broadcast receiver). Broadcast as a means of communication between Android components, the following scenarios can be used:
  • the Android system communicates with the app under certain circumstances.
  • Each broadcast will have its own logo, which is convenient for the AMS to identify which broadcast the broadcast is, and which receiver to send to.
  • the AMS will broadcast the attributes (such as the broadcast sender's process ID and / or user ID, broadcast sender, broadcast receiver, broadcast receiver's process ID and / or user ID, etc.) and broadcast
  • the content is encapsulated to form a broadcast record.
  • the AMS first determines the category of the broadcast, for example, the broadcast is an ordered broadcast or an unordered broadcast. If a broadcast is widely ordered, the broadcast record is added to the ordered broadcast buffer queue, and then the broadcast record is sequentially sent to the corresponding broadcast receiver. in.
  • the specific implementation principle is as follows:
  • the broadcast receiver BroadcastReceiver registers with the AMS (Activity Manager Service) through the Binder mechanism;
  • the broadcast sender sends a broadcast to the AMS through the binder mechanism
  • AMS finds the BroadcastReceiver that meets the corresponding conditions (IntentFilter/Permission, etc.), and sends the broadcast to the corresponding message loop queue of the BroadcastReceiver (in general, the Activity);
  • the message loop executes to get the broadcast, callback the onReceive() method in the BroadcastReceiver, and send the broadcast to the corresponding broadcast receiver.
  • AMS does not deliberately identify the current running state of the broadcast receiver, that is, whether an application is running in the foreground or in the background.
  • the application is running in the background, although it is temporarily not used by the user, the broadcast can be received frequently, and the self-starting is realized by using the broadcast, thereby consuming the power of the terminal device.
  • FIG. 2 is a system architecture diagram 200 of a terminal according to an embodiment of the present invention.
  • the terminal may be any type of terminal device such as a mobile phone or a tablet computer, and is not limited in this application.
  • the operating system of the terminal can be an Android system or other systems, and there is no limitation here. Only in the specific embodiments below, the application documents are described by taking the Android system as an example. Other systems operate in a similar manner and are not limited here.
  • the terminal can include a processor 201, a memory 202, a system bus 203, and a communication interface 204.
  • the processor 201, the memory 202, and the communication interface 204 can implement communication connection with each other through the bus 203, and can also implement communication by other means such as wireless transmission.
  • the processor 201 can be a central processing unit (English: central processing unit, abbreviation: CPU).
  • the memory 202 may include a volatile memory (English: volatile memory), such as random-access memory (abbreviation: RAM); the memory may also include non-volatile memory (English: non-volatile memory) For example, read-only memory (English: read-only memory, abbreviated: ROM), flash memory, HDD or SSD; the memory 202 may also include a combination of the above types of memory.
  • volatile memory such as random-access memory (abbreviation: RAM)
  • non-volatile memory English: non-volatile memory
  • read-only memory English: read-only memory, abbreviated: ROM
  • flash memory HDD or SSD
  • the memory 202 may also include a combination of the above types of memory.
  • a signaling flow chart of broadcast transmission is also provided, as shown in FIG. 3.
  • the broadcast sender (eg, other applications than the first application or the system itself) first transmits the broadcast to the AMS when a broadcast needs to be issued.
  • AMS will query the recipient of the broadcast.
  • the first application is already running in the background.
  • the AMS temporarily does not send the broadcast to the first application, but caches the broadcast.
  • a storage area for storing the broadcast is added to the AMS for freezing the transmission of the broadcast. Further, the storage area may be further divided into an ordered broadcast storage area and an unordered broadcast storage area.
  • the type of the broadcast may be determined first. For example, if the first broadcast is an ordered broadcast, it is cached in the storage area of the ordered broadcast. When the first broadcast is an unordered broadcast, it is cached in the storage area of the unordered broadcast.
  • the operating state of the application in the operating system of the terminal can be divided into foreground running and background running.
  • the foreground is running, that is, running directly on the displayed window or interface of the display screen, presenting the current interface of the program running, and interacting with the user of the terminal device (ie, the user) through the displayed interface.
  • Running in the background means that the display does not present the running interface of the application, but the application continues to provide services in the background, and can be switched to the foreground and displayed on the display at any time.
  • the Android system When the application is opened, the Android system will call onResume and other methods to make the application's activity running. After the activity of the application is started, the activity includes: running the Resumed state, pausing the paused state, and stopping the Stopped state. If the activity of the application is in a Resumed state, the application may be considered to be in a foreground running state, and if the application is The activity is in the Paused state and the application is considered to be running in the background.
  • the signaling flow chart of the control method of the broadcast shown in FIG. 3 is merely a brief introduction to the technical solution of the present invention.
  • the specific method steps can be referred to the specific description of the flow of the control method broadcasted below.
  • FIG. 4 is a schematic flowchart diagram of a method for controlling a broadcast according to the present invention.
  • the method is mainly implemented by using a software form, but is physically implemented by a processor.
  • the specific work process is as follows:
  • the first broadcast is cached, and the sending of the first broadcast to the first application is stopped.
  • step 410 it can be seen from step 410 that the first application is already running in the background. Therefore, after receiving the first broadcast sent by the broadcast sender, the AMS temporarily buffers the first broadcast and stops sending the first broadcast to the first application.
  • the application When the application is running in the background, it caches all the broadcasts it will receive, which can prevent the application from receiving broadcasts frequently in the background, increasing system power consumption and reducing system performance.
  • the method may further include: S415, first determining whether the running feature of the first application meets the first preset condition, for example, the first application is in the operating system of the terminal.
  • the background continuous running time is greater than the preset running time. Then the first broadcast is buffered, and the first broadcast is stopped from being sent to the first application.
  • the method may further include S430, determining whether the running characteristic of the first broadcast satisfies the second preset freezing condition.
  • determining whether the number of recipients of the first broadcast is greater than the preset number of recipients; or, indeed Whether the transmission frequency of the first broadcast is higher than the preset transmission frequency For example, determining whether the number of recipients of the first broadcast is greater than the preset number of recipients; or, indeed Whether the transmission frequency of the first broadcast is higher than the preset transmission frequency.
  • the number of recipients of the first broadcast is greater than the preset number of recipients, if the first broadcast is simultaneously sent to multiple recipients, it is easy to cause instantaneous jamming of the system, and even consume power consumption of the system.
  • the transmission frequency of the first broadcast is higher than the preset transmission frequency, it also causes instantaneous charging of the system and consumption of system power consumption. Therefore, when the first broadcast is for both types of broadcasts, the first broadcast buffer is also required to be stopped and sent to the first application.
  • the first broadcast needs to be cached. It may also include the case that if the power consumption is greater than the preset power threshold when the first broadcast is received, or the received first broadcast causes the system to momentarily jam, the first broadcast is also required to be immediately cached.
  • step 430 does not conflict with step 415.
  • Step 430 can be performed after step 410 without step 415. It may also be performed after step 415 in the presence of step 415.
  • Figure 4(a) is a flow diagram of a method comprising only steps 410 and 420.
  • 4(b) is a flowchart of a method that includes step 430 but does not include step 415.
  • 4(b) is a flow chart of a method including both step 415 and step 430.
  • the broadcast can be divided into system broadcasts and non-system broadcasts.
  • the non-system broadcast here is the broadcast from a third-party application.
  • the AMS may set a broadcast list when it is determined whether the first broadcast is a broadcast of a large number of recipients, or whether the first broadcast is a broadcast having a high transmission frequency. Included in the broadcast list is a preset freeze broadcast.
  • the preset freeze broadcast includes at least one of a preset system broadcast and a preset second application broadcast.
  • When receiving the first broadcast it may be determined whether the broadcast list exists in the broadcast list. When the first broadcast exists in the broadcast list, it indicates that the broadcast belongs to a broadcast that has a large number of receivers or a broadcast frequency that is too high. Need to cache the first broadcast. In this way, it is more convenient for AMS to process all broadcasts as quickly as possible.
  • the AMS itself can identify which system broadcasts are consistent with frequent broadcasts, such as broadcasts of power updates. Which are the system broadcasts of many recipients, such as bright screen and off-screen broadcast. Which are system broadcasts that are likely to cause the system to be momentarily stuck, such as WiFi broadcasts. What are the system broadcasts that are too high, or which system broadcasts will cause power consumption? Severe system broadcasts, etc. (not one by one here), these are broadcasts that can be predicted in advance, so they can be statically configured in advance. And some broadcasts are not issued by the system itself, but by the second application. These non-system broadcasts require AMS dynamic determination.
  • buffering the first broadcast and stopping transmitting the first broadcast to the first application further includes another method of determining whether the running characteristic of the first broadcast satisfies the second preset freeze condition.
  • the operating characteristics of the first broadcast may be the number of recipients of the first broadcast or the frequency of transmission of the first broadcast, and the like.
  • the preset freeze condition is that the number of recipients of the broadcast is greater than the preset number of recipients, or the broadcast transmission frequency is higher than the preset transmission frequency.
  • non-system broadcasts that need to be dynamically determined may include: some non-system broadcasts that are too high, a large number of non-system broadcasts by the receiver, non-system broadcasts that cause the system to jam, and the like.
  • AMS counts these non-system broadcasts for a fixed period of time. For example, a frequently issued non-system broadcast, AMS will count the number of times the broadcast was sent within ten minutes.
  • a non-system broadcast in the process of distribution, the AMS will count which applications the broadcast will be sent to, and when the number of applications receiving the broadcast is too large, the non-system broadcast is cached. The broadcast that is sent by the broadcast sender can be accurately identified. Any of the broadcast methods described above is to identify the broadcast.
  • Each broadcast has its own logo (for example, the logo of WeChat broadcast is: com.tencent.mm.broadcast). Once these broadcasts have been determined, they can be added to the broadcast list. After being added to the broadcast list, it becomes the preset second application broadcast.
  • logo of WeChat broadcast is: com.tencent.mm.broadcast.
  • the first broadcast may be matched with the broadcast list.
  • the first broadcast is cached, and the sending to the first application is stopped.
  • the method may further include the step 440 of acquiring a third broadcast to be sent to the first application.
  • the AMS may receive the same broadcast or the same type of broadcast at different time periods. Therefore, when receiving the third broadcast, it is necessary to determine whether the third broadcast and the first broadcast belong to the same type or the same type of broadcast; if the third broadcast and the first broadcast are the same or the same type of broadcast, then The third broadcast is cached and the cached first broadcast is deleted.
  • the same kind of broadcast mentioned here such as power broadcast
  • the broadcast of the power broadcast by the broadcast sender shows that the value of the power is 90%
  • the broadcast of the power broadcast by the broadcast sender shows that the power is 70%.
  • the two broadcasts are originally the same type of broadcast. If they are all cached, they will occupy system resources, and the power itself needs to be updated in real time.
  • the power received at the first moment Broadcasting has no meaning. Therefore, when the AMS receives a power broadcast with a display power of 70%, it can delete the power broadcast with a display power of 90%, and only cache the power broadcast with a display power of 70%.
  • the received third broadcast is of the same type as the first broadcast, for example, the first broadcast is a bright screen broadcast and the third broadcast is a screencast broadcast.
  • This type of broadcast also only caches the last updated broadcast, so the first broadcast can be deleted and only the third broadcast can be cached. This can greatly save system resources and improve system performance.
  • a broadcast may only need to be frozen for an application or for several applications; for other applications, there is no need to freeze.
  • AMS will send it to the corresponding application as specified.
  • both Facebook and MSN will receive broadcasts of power updates. Facebook is already in the background and meets any of the conditions described above for freezing broadcasts. Then, AMS will temporarily stop sending the power broadcast to Facebook and cache it. The broadcast that MSN wants to receive does not need to be frozen, so the broadcast will be sent to MSN as usual.
  • the method step of defrosting the broadcast is further included.
  • Step 450 thaw the first broadcast, and send the first broadcast to the first application.
  • the specific thawing condition of the first broadcast may include: detecting that the first application is switched from the background operation of the operating system of the terminal to the foreground operation. Or acquiring a second broadcast to be sent to the first application, where the second broadcast belongs to the preset important broadcast.
  • the premise of thawing is that when the first application is running in the background, all or part of the received broadcast has been frozen.
  • the partial broadcast here refers to a broadcast of a type that is numerous in the step 430, the transmission frequency is too high, and causes the system to jam or the like.
  • these broadcasts are thawed and sent to the broadcast receiver in turn via the AMS.
  • the preset important broadcast can be a telephone broadcast or a short message broadcast.
  • the first application may need to process these broadcasts immediately.
  • the premise of handling these broadcasts is that they need to handle the broadcasts that are currently being cached. Therefore, the AMS sends the cached broadcast to the first application first. After the first application is processed, the important broadcast is sent to the first application, so that the first application can process the important broadcast in time.
  • the conditions for thawing the first broadcast include not only the two cases described above. It may also be one or more of the following.
  • the frozen broadcast time threshold is greater than a fourth predetermined threshold; and/or the number of frozen broadcasts is greater than a fifth predetermined threshold; or includes some anomalies and the like.
  • the A application bundles the service functions of the B application (for example, when using the taxi software for payment, it may need to bind the payment function of the mobile banking client), and/or the frozen broadcast takes more than 1 hour; and/or freezes The number of broadcasts is greater than 50 and so on.
  • the AMS will also need to receive the first application, and the broadcast that is currently being frozen will be thawed.
  • the AMS may unfreeze the broadcast according to the time sequence of the broadcast freeze, and then sequentially process, that is, sequentially distribute the thawed broadcasts in a frozen time sequence to one or more applications that need to receive the broadcasts. In the program, until all frozen broadcasts are processed. Then, the important broadcast to be sent is sent to the application. In other words, when the AMS reprocesses the broadcast, whether it is a frozen broadcast or an unfrozen broadcast, it is processed in the order in which the broadcast time is received.
  • broadcasts can be divided into ordered broadcasts and out-of-order broadcasts. Therefore, when the AMS receives the broadcast, it can also divide the broadcast into an ordered broadcast and an unordered broadcast. If it is found which broadcasts in the ordered broadcast need to be frozen, the ordered broadcasts that need to be frozen are added to the ordered broadcast freeze queue for caching. If you find out which broadcasts in the unordered broadcast need to be frozen, you will need to freeze the disorder. The broadcast is added to the freeze queue of the out-of-order broadcast for caching.
  • frozen broadcasts need to be thawed, they are also divided into thawed ordered broadcasts and thawed unordered broadcasts. After the unordered broadcast is thawed, an out-of-order broadcast can be simultaneously transmitted to a plurality of broadcast recipients. After thawing the ordered broadcast, one broadcast broadcast is required. When a broadcast is sent to a corresponding application, the AMS needs to send the broadcast after receiving the success notification command sent by the application. Go to the next corresponding application, or send another broadcast to the corresponding application.
  • the terminal uses a mobile phone as an example for description.
  • One or more applications in Facebook, MSN, Skype, etc. are installed in the phone, where Facebook and MSN are running in the background while Skype is running in the foreground.
  • the AMS After receiving the power broadcast sent by the broadcast sender, the AMS has determined that the broadcast needs to be sent to Facebook, MSN, and Skype, respectively.
  • Facebook has been running in the background for more than 5 minutes (assuming the first threshold is 5 minutes)
  • MSN is just switched from the foreground to the background
  • running time is not more than 5 minutes.
  • Skype is always running in the foreground.
  • AMS will send the power broadcast to MSN and Skype according to the above situation.
  • the broadcasts to be received in Facebook need to be cached. Therefore, the power broadcast will not be sent to Facebook for the time being, but will be cached in a certain storage area of the memory. Temporarily stop sending to Facebook.
  • Skype is also bundled with a game software that frequently receives broadcasts.
  • the purpose is to frequently wake up during the process of receiving the broadcast, and then download some advertisements, etc., so that in a short period of time, for example, within 30 minutes, the game software can consume up to five percent of the power.
  • the amount of power consumed has exceeded a second predetermined threshold (eg, 4% of power consumption in one hour).
  • the central processing unit (CPU) resources are 10 to 15%, and the fourth predetermined threshold is 5%, then 360 security guards are When running in the background, the occupied resources have exceeded the fourth predetermined threshold.
  • CPU central processing unit
  • AMS will also cache the broadcasts that the two applications will receive.
  • the broadcasts of the application may cause some inconvenience, such as 360 security guards, it may receive some broadcasts about spam or harassing calls. If these broadcasts are all cached, 360 will not be able to intercept these short messages or broadcasts immediately, causing unnecessary trouble to the user. Or, some broadcasts are important broadcasts that require immediate processing by the user, and if these broadcasts are also frozen, they may cause inconvenience to the user.
  • the preset freeze broadcast includes a statically configured system broadcast and a dynamically determined non-system broadcast.
  • the preset freeze broadcast can be displayed on a broadcast list.
  • a table is drawn in this embodiment, which exemplifies the preset freeze broadcast type and the composition form of the broadcast list.
  • the form of the preset freeze broadcast can also be used in other ways. There is no limit here. All broadcasts on the broadcast list are only a limited example and do not fully represent all broadcasts in the broadcast list.
  • the AMS After receiving the broadcast, the AMS will match the broadcast list. When it is determined that a certain broadcast exists in the broadcast list, it indicates that the broadcast is a preset freeze broadcast, and the application to be sent by the broadcast conforms to the above. Any of the conditions for caching broadcasts introduced, then the broadcast will be cached in memory. Otherwise, the broadcast is distributed to the corresponding application according to the corresponding regulations.
  • the AMS recognizes that the broadcast sent by the broadcast sender is the same broadcast and/or the same type of broadcast, for example, the broadcast is a power broadcast, and the previously frozen and cached power.
  • the broadcast shows that the value of the battery is 90%, and the power broadcast shown this time is 89%.
  • AMS will delete the frozen previous broadcast and then freeze this power broadcast, that is, only 89% of the power broadcast is cached in the memory.
  • the AMS will store the currently stored bright screen.
  • the broadcast is deleted, and then the broadcast of the current screen is frozen, that is, the current screen broadcast is cached in the memory.
  • AMS is also used to unfreeze frozen broadcasts, corresponding to frozen broadcasts.
  • the specific thawing conditions have been described in detail above, and are not repeated here. It is only a description of the process of thawing. For the specific process, refer to the signaling flow chart of the defrosted broadcast shown in FIG. 5.
  • FIG. 5 is a signaling flowchart of a defrosted broadcast according to an embodiment of the present invention.
  • the signaling flow of the thawing broadcast is as shown in FIG. 5(a) and FIG. 5(b).
  • 5(a) is a signaling flow chart of de-freezing broadcast when detecting that the application is switched from the background to the foreground.
  • FIG. 5(b) is a signaling flow chart of de-freezing broadcast when the AMS acquires a second broadcast to be transmitted to the first application.
  • the broadcast distribution module takes the frozen broadcast out of the cache and determines which broadcast receptions the frozen broadcast needs to be sent to.
  • the broadcasted attributes such as the broadcast sender's process ID and/or user ID, broadcast sender, broadcast receiver, broadcast receiver's process ID and/or user ID, etc.
  • the broadcasted content are encapsulated.
  • the broadcast record is sequentially sent to the recipient of the broadcast.
  • a method for controlling broadcasts when it is recognized that one or more applications are running in the background and satisfying certain conditions, freezes the broadcast to be received by one or more applications. Therefore, one or more applications frequently receive broadcasts in the background, causing problems of system jamming, and excessively consuming power of the terminal devices, resulting in terminals. The problem of equipment heating, etc., while further improving the performance of the system. And when one or more applications are switched from the background to the foreground, and/or the second preset condition is met, the broadcast of one or more applications may be thawed, so that one or more applications can process the ones to be received. broadcast.
  • FIG. 6 is a schematic structural diagram 600 of a broadcast control device according to an embodiment of the present invention. As shown in FIG. 6, the device includes a broadcast acquisition module 601 and a broadcast distribution module 602.
  • the broadcast acquisition module 601 is configured to acquire a first broadcast to be sent to the first application when the first application runs in the background of the operating system of the terminal.
  • the broadcast distribution module 602 is configured to cache the first broadcast and stop sending the first broadcast to the first application.
  • the broadcast distribution module 602 is further configured to: determine that the running feature of the first application meets the first preset freeze condition, where the running feature of the first application includes a background running time of the first application in the operating system of the terminal, A preset freeze condition includes the background running time of the application being greater than the preset running time.
  • the broadcast distribution module 602 is further configured to: determine that the first broadcast belongs to a preset freeze broadcast, where the preset freeze broadcast includes at least one of a preset system broadcast and a preset second application broadcast.
  • the broadcast distribution module 602 is further configured to: determine that the running feature of the first broadcast meets the second preset freeze condition, where the running feature of the first broadcast includes the number of receivers of the first broadcast, and the second preset freeze condition The number of receivers including the broadcast is greater than the preset number of receivers; or determining that the running feature of the first broadcast satisfies the second preset freeze condition, wherein the running characteristics of the first broadcast include the sending frequency of the first broadcast, and the second preset freezes Conditions include that the broadcast is sent at a higher frequency than the preset send frequency.
  • the broadcast distribution module 602 is further configured to: acquire a third broadcast to be sent to the first application;
  • the third broadcast is the same type of broadcast as the first broadcast, the third broadcast is cached and deleted The first broadcast that has been cached.
  • the broadcast distribution module 602 is further configured to: thaw the first broadcast, and send the first broadcast to the first application.
  • the conditions for thawing can include:
  • the broadcast distribution module 602 is further configured to detect that the first application is switched to run in the foreground by the background operation of the operating system of the terminal; or the broadcast distribution module is further configured to acquire a second broadcast to be sent to the first application, where the second broadcast belongs to Preset important broadcasts.
  • the broadcast distribution module is described by taking the AMS as an example.
  • the present invention can be applied not only to the Android system but also to other systems. Therefore, the broadcast distribution module can be represented in other forms in other application systems, which is not limited herein.
  • the broadcast management device freezes the broadcast to be received by one or more applications when it is recognized that one or more applications are running in the background and certain conditions are met. This solves the problem that one or more applications frequently receive broadcasts in the background, causing system stalls, and excessively consuming the power of the terminal devices, causing the terminal devices to heat up, and further improving the performance of the system. And when one or more applications are switched from the background to the foreground, and/or the defrosting conditions are met, the broadcast of one or more applications can be thawed, allowing one or more applications to process the broadcasts they are to receive.
  • the steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented in hardware, a software module executed by a processing module, or a combination of both.
  • the software module can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field. Any other form of storage medium known.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例涉及一种广播的管控方法、装置及终端设备,该方法包括:对终端设备当前运行的一个或者多个应用程序进行识别,当一个或者多个应用程序处于后台运行,且满足第一预设条件时,发出第一控制指令;或者,当一个或者多个应用程序由后台切换到前台运行,和/或满足第二预设条件,发出第二控制指令;当接收到第一控制指令时,将即将发送给一个或者多个应用程序的广播进行冻结,并缓存;或者,当接收到第二控制指令时,将发送给一个或者多个应用程序的广播进行解冻,分发给一个或者多个应用程序。本发明实施例提供的广播的管控方法及终端设备,可以避免一个或者多个应用程序在后台频繁的接收广播,导致的系统卡顿的问题,以及终端设备发热的问题等。

Description

广播的管控方法、装置及终端 技术领域
本发明涉及移动通信技术领域,尤其涉及一种广播的管控方法、装置及终端。
背景技术
广播作为Android系统的四大组件之一,属于进程间的一种通讯机制,在很多操作系统中都被广泛应用。广播可以用于传递数据、发送通知等。但是,也正是因为广播被广泛应用,所以也就出现了一些不可避免的困扰。例如,当应用处于后台运行时,虽然暂时不被用户所用,但是应用可以频繁的接收广播,利用广播来实现自启动,从而消耗终端设备的电量。
发明内容
本发明实施例提供了一种智能管控广播的方法、装置及终端。
第一方面,本发明提供了一种广播的管控方法,该方法应用于终端中,其中,第一应用运行于终端的操作系统上,所述方法包括:
当第一应用运行于终端的操作系统的后台时,获取待发送至第一应用的第一广播;
缓存第一广播,停止发送第一广播至第一应用。
结合第一方面,在第一方面的第一种可能的实现方式中,缓存第一广播,停止发送第一广播至第一应用,该方法还包括:
确定第一应用的运行特征满足第一预设冻结条件,其中第一应用的运行特征包括第一应用在终端的操作系统的后台持续运行时间,第一预设冻结条件包括应用的后台持续运行时间大于预设运行时间。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二 种可能的实现方式中,缓存第一广播,停止发送第一广播至第一应用,该方法还包括:
确定第一广播属于预设冻结广播,其中,预设冻结广播包括预设的系统广播和预设的第二应用广播中的至少一个。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,缓存第一广播,停止发送第一广播至第一应用,该方法还包括:
确定第一广播的运行特征满足第二预设冻结条件,其中第一广播的运行特征包括第一广播的接收者数量,第二预设冻结条件包括广播的接收者数量大于预设接收者数量;或者,
确定第一广播的运行特征满足第二预设冻结条件,其中第一广播的运行特征包括第一广播的发送频率,第二预设冻结条件包括广播的发送频率高于预设发送频率。
结合第一方面至第一方面的第三种可能的实现方式中的任一种,在第一方面的第四种可能的实现方式中,缓存第一广播,停止发送至第一应用之后,该方法还包括:解冻第一广播,发送第一广播至第一应用。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,解冻第一广播之前,该方法还包括:检测到第一应用由终端的操作系统的后台运行切换至前台运行。
结合第一方面的第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,解冻第一广播之前,该方法还包括:获取待发送至第一应用的第二广播,其中,第二广播属于预设重要广播。
结合第一方面至第一方面的第三种可能的实现方式中的任一种,在第一方面的第七种可能的实现方式中,缓存第一广播之后,该方法包括:
获取待发送至第一应用的第三广播;
确定第三广播与第一广播是否属于同一类型的广播;
如果第三广播与第一广播为同一类型的广播,则缓存第三广播,并删除已缓存的第一广播。
第二方面,本发明提供了一种广播的管控装置,其中,第一应用运行于终端的操作系统上,该装置包括:
广播获取模块,用于当第一应用运行于终端的操作系统的后台时,获取待发送至第一应用的第一广播;
广播分发模块,用于缓存第一广播,停止发送第一广播至第一应用。
结合第二方面,在第二方面的第一种可能的实现方式中,广播分发模块还用于,确定第一应用的运行特征满足第一预设冻结条件,其中第一应用的运行特征包括第一应用在终端的操作系统的后台持续运行时间,第一预设冻结条件包括应用的后台持续运行时间大于预设运行时间。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,广播分发模块还用于,确定第一广播属于预设冻结广播,其中,预设冻结广播包括预设的系统广播和预设的第二应用广播中的至少一个。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,广播分发模块还用于,确定第一广播的运行特征满足第二预设冻结条件,其中第一广播的运行特征包括第一广播的接收者数量,第二预设冻结条件包括广播的接收者数量大于预设接收者数量;或者,
确定第一广播的运行特征满足第二预设冻结条件,其中第一广播的运行特征包括第一广播的发送频率,第二预设冻结条件包括广播的发送频率高于预设发送频率。
结合第二方面至第二方面的第三种可能的是实现方式中的任一种,在第二方面的第四种可能的实现方式中,广播分发模块还用于,解冻第一广播,发送第一广播至第一应用。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,广播分发模块还用于检测所述第一应用由终端的操作系统的后台运行切换至前台运行。
结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,广播分发模块还用于获取待发送至第一应用的第二广播,其中,第二广播属于预设重要广播。
结合第二方面至第二方面的第三种可能的是实现方式中的任一种,在第二方面的第七种可能的实现方式中,广播分发模块还用于:获取待发送至第一应用的第三广播;
确定第三广播与第一广播是否属于同一类型的广播;
如果第三广播与第一广播为同一类型的广播,则缓存第三广播,并删除已缓存的第一广播。
第三方面,本发明实施例提供了一种终端,所述终端包括处理器、存储器、系统总线及通信接口;处理器、存储器以及通信接口通过系统总线建立连接,一个或多个程序都将被存储在存储器中并被配置为所述处理器执行,一个或多个程序包括用于执行第一方面所述的广播的管控方法的所有指令。
基于上述技术方案,本发明实施例提供的一种广播的管控方法、装置及终端,当识别到一个或者多个应用程序处于后台运行,以及满足一定的条件时,则将一个或者多个应用程序即将要接收的广播进行冻结。由此解决一个或者多个应用程序在后台频繁的接收广播,导致的系统卡顿的问题,以及过高消耗终端设备的电量,导致终端设备发热的问题等,同时进一步的提高了系统的性能。而当一个或者多个应用程序由后台切换到前台运行时,和/或满足解冻条件时,可以解冻一个或者多个应用程序的广播,方便一个或者多个应用程序处理其要接收的广播。
附图说明
图1为现有技术中广播发送的信令流程图;
图2为本发明实施例提供的一种终端的系统架构图;
图3为本发明实施例提供的广播发送的信令流程图;
图4为本发明实施例提供的一种广播的管控方法流程示意图;
图5为本发明实施例提供的解冻广播的信令流程图;
图6为本发明实施例提供的一种广播的管控装置结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
广播是一种消息传递机制,有发送方和接收方。其中,发送方和接收方均可以是终端中的系统应用程序或者是终端中安装的第三方应用程序。在现有技术中,发送方发送广播消息,可以有多个接收方。接收方可以指定接收哪些广播。发送方也可以指定发送给哪些接收方。接收方接收广播后可以在后台活动或者更新自己的状态。如果已经指定哪些发送方或者接收方时,广播分发模块在接收到发送方的广播后,无需一一查询哪个接收方需要接收这种广播,而是直接发送到指定的接收方中去。当然,如果发送方没有指定哪些接收方接收广播,或者接收方没有指定哪些发送方发送广播时,广播就会通过发送方发送到终端的广播分发模块中,由广播分发模块分发广播到相应的接收方中(在收发广播之前,接收方已经提前注册好需要接收哪种广播,当处理器收到这些广播时,自动将这些广播分发到对应的应用中)。以安卓 操作系统为例,具体的广播分发过程如图1所示,图1为现有技术中的安卓操作系统的广播发送的信令流程图。
具体的,安卓操作系统提供的ActivityManagerService(简称AMS)系统服务用于管理安卓操作系统中activity的各种行为,控制activity的生命周期,派发消息事件,进行低内存管理等等。AMS实现了IBinder接口,可以用于进程间通信。Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的是广播接收者(或广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:
1.同一app内部的同一组件内的消息通信(单个或多个线程之间);
2.同一app内部的不同组件之间的消息通信(单个进程);
3.同一app具有多个进程的不同组件之间的消息通信;
4.不同app之间的组件之间消息通信;
5.Android系统在特定情况下与App之间的消息通信。每一个广播都会有自己的标识,方便AMS识别广播到底是什么广播,具体需要发送到哪个接收器中等。确定广播接收方后,AMS则会将广播的属性(例如广播发送方的进程ID和/或用户ID,广播发送方,广播接收方,广播接收方的进程ID和/或用户ID等)以及广播内容进行封装,形成一个broadcast record。AMS先确定广播的类别,例如广播是有序广播或者无序广播,假设广为有序广播,则将broadcast record加入到有序广播缓存队列,然后按序将broadcast record发送到对应的广播接收方中。具体实现原理如下:
1.广播接收者BroadcastReceiver通过Binder机制向AMS(Activity Manager Service)进行注册;
2.广播发送者通过binder机制向AMS发送广播;
3.AMS查找符合相应条件(IntentFilter/Permission等)的BroadcastReceiver,将广播发送到BroadcastReceiver(一般情况下是Activity)相应的消息循环队列中;
4.消息循环执行拿到此广播,回调BroadcastReceiver中的onReceive()方法,发送该广播至对应的广播接收者中。
而正是因为在现有技术中,AMS并不会刻意识别广播接收方当前的运行状态,也即是某应用程序正处于前台运行还是处于后台运行。而当应用处于后台运行时,虽然暂时不被用户所用,还是可以频繁的接收广播,利用广播来实现自启动,从而消耗终端设备的电量。
因此,为了解决上述技术问题,在本发明中,提出了一种广播的管控方法,该方法主要应用于一种终端,其中,第一应用运行于终端的操作系统上。如图2所示,图2为本发明实施例提供的一种终端的系统架构图200。
应理解,该终端可以是手机、平板电脑等任意一种终端设备,在本申请文件中不做任何限定。而终端的操作系统可以是安卓系统或者其他系统,在这里同样不做任何限定。只是在下文的具体实施例中,本申请文件均以安卓系统为例进行说明。其他系统的操作方式类似,这里不做限定。
终端可以包括处理器201,存储器202,系统总线203以及通信接口204。
其中,处理器201、存储器202和通信接口204可以通过总线203实现彼此之间的通信连接,也可以通过无线传输等其他手段实现通信。
处理器201可以为中央处理器(英文:central processing unit,缩写:CPU)。
存储器202可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器,HDD或SSD;存储器202还可以包括上述种类的存储器的组合。在通过软件来实现本申请提供的技术方案时,用于实现本申请图4提供的广播的管控方法的程序代码保存在存储器202中,并由处理器201来执行。
另外,与图1对应的,在本发明的实施例中,还提供了一种广播发送的信令流程图,如图3所示。
如图3所示,广播发送方(例如,除第一应用之外的其他应用程序或者系统本身)在需要发出广播时,首先将广播发送到AMS。AMS则会查询该广播的接收方。当查询到该广播的其中一个接收方是第一应用时,而第一应用已经处于后台运行。那么此时,AMS暂时不会将该广播发送到第一应用中,而是将该广播缓存。具体的,AMS中新增用于存储该广播的存储区,用于冻结该广播的发送。进一步地,该存储区还可以具体分为有序广播存储区和无序广播存储区。
可选的,可以首先确定广播的种类,例如第一广播为有序广播,则将其缓存在有序广播的存储区。当第一广播为无序广播时,则将其缓存在无序广播的存储区。
通过将广播缓存,停止发送到第一应用中,可以避免应用在处于后台运行时不断的接收广播,以此降低了系统功耗,大大提高系统的性能。
应理解的是,应用程序在终端的操纵系统中的运行状态可以分为前台运行和后台运行。前台运行,即直接在显示屏的显示的窗口或界面上运行,呈现出程序运行的当前界面,可以和终端设备的使用者(即用户)通过显示的界面进行互动。后台运行,是指显示屏不呈现应用程序的运行界面,但该应用程序在后台继续提供服务,可以随时切换成前台运行并在显示屏上显示出来。
以安卓操作系统为例,说明系统如何判断一个应用的当前运行状态,具体地:
当应用被打开后,Android系统会调用onResume等方法来使该应用的activity处于运行状态。在该应用的activity启动后,activity包括:运行Resumed状态、暂停Paused状态以及停止Stopped状态。如果所述应用的activity处于Resumed状态,则可以认为所述应用处于前台运行状态,而如果所述应用的 activity处于Paused状态,则认为所述应用处于后台运行。
图3所示的广播的管控方法信令流程图仅仅是简单的介绍了本发明的技术方案。而具体的方法步骤可以参考下文中广播的管控方法流程的具体介绍。
图4为本发明提供的一种广播的管控方法的流程示意图,该方法流程主要是通过软件形式来实现,但是实体上是由处理器来完成的。具体工作过程如下:
S410,当第一应用运行于终端的操作系统的后台时,获取待发送至第一应用的第一广播。
S420,缓存第一广播,停止发送第一广播至第一应用。
具体的,由步骤410可知,第一应用已经处于后台运行。所以,AMS在接收到广播发送方发出的第一广播后,就会将第一广播暂时缓存,停止发送第一广播至第一应用中。
当应用程序处于后台运行时,就将其即将要接收的所有广播都缓存,可以避免应用在后台运行时频繁的接收广播,增加系统功耗,降低系统的性能。
但是,一旦检测到第一应用处于后台,就缓存其所要接收的所有广播,将有可能造成第一应用不能及时处理重要的广播。因为,本发明还提出了其他优选地方案,来避免应用不能及时处理重要的广播的问题。
优选的,可以在第一广播发送到第一应用之前,该方法还可以包括:S415,首先确定第一应用的运行特征是否满足第一预设条件,例如,第一应用在终端的操作系统的后台持续运行时间大于预设运行时间。那么将第一广播缓存,停止发送第一广播至第一应用中。
进一步优选的,在缓存广播时,为了避免系统功耗增加,降低系统的性能。可以只冻结接收者众多的广播和发送频率过高的广播。因此,在步骤420之前,该方法还可以包括S430,确定第一广播的运行特征是否满足第二预设冻结条件。
例如,确定第一广播的接收者数量是否大于预设接收者数量;或者,确 定第一广播的发送频率是否高于预设发送频率。当第一广播的接收者数量大于预设的接收者数量时,若同时将该第一广播发送到多个接收者中时,很容易造成系统的瞬时卡顿,甚至会消耗系统的功耗。类似的,当第一广播的发送频率高于预设的发送频率时,也会造成系统的瞬时卡顿和系统功耗的消耗。因此,当第一广播为这两类广播时,同样需要将第一广播缓存,停止发送到第一应用中。
当然,不仅仅是在上述两种情形时,需要将第一广播缓存。还可以包括以下情形:如果在接收第一广播时,消耗电量大于预设的电量阈值,或者接收的第一广播,会导致系统瞬时卡顿时,同样需要将该第一广播立即缓存。
应理解,步骤430与步骤415并不冲突。步骤430可以在没有步骤415的情况下,在步骤410之后执行。也可以在存在步骤415的情况下,在步骤415之后执行。具体如图4(a),4(b)和4(c)所示。图4(a)是仅包含步骤410和420的方法流程图。4(b)是包括步骤430,但是不包含步骤415的方法流程图。图4(b)是同时包含步骤415和步骤430的方法流程图。
进一步优选的,因为广播可以分为系统广播和非系统广播。这里的非系统广播就是第三方应用程序所发出的广播。AMS在确定第一广播是否是接收者众多的广播,或者判断第一广播是否是发送频率过高的广播时,可以设定一个广播名单。该广播名单中包括的是预设冻结广播。预设冻结广播包括预设的系统广播和预设的第二应用广播中的至少一个。在接收第一广播时,可可以先确定是否存在该广播名单中,当第一广播存在于这个广播名单中时,则说明该广播是属于接收者众多或者发送频率过高的广播中一类,需要将第一广播缓存。如此,可以更加方便AMS尽快的处理所有的广播。
在安卓系统中,AMS本身就可以识别出哪些系统广播是符合频繁发出的广播,例如电量更新的广播等。哪些又是接收者众多的系统广播,例如亮屏和灭屏的广播等。哪些是容易导致系统瞬时卡顿的系统广播,例如WiFi广播等。还有哪些是速率过高的系统广播,或者接收哪些系统广播将会导致耗电 严重的系统广播等(这里不再一一举例),这些都是提前可以预知的广播,因此可以提前静态的配置好。而有一些广播,并不是系统本身发出的,而是第二应用发出的广播。这些非系统广播则需要AMS动态的确定。
因此,缓存第一广播,停止发送第一广播至第一应用,就还包括另一种方法,确定第一广播的运行特征是否满足第二预设冻结条件。而第一广播的运行特征可以是第一广播的接收者数量或者第一广播的发送频率等等。预设冻结条件则是广播的接收者数量大于预设接收者数量,或者广播的发送频率高于预设发送频率。
在一个具体的例子中,需要动态确定的非系统广播可以包括:一些速率过高的非系统广播,接收者众多的非系统广播,造成系统卡顿的非系统广播等等。AMS在一个固定的时间段内,统计出这些非系统广播。例如,频繁发出的非系统广播,AMS将会统计在十分钟内,该广播发出的次数。又例如,一种非系统广播,AMS在分发的过程中,就会统计这种广播都会发送到哪些应用中,当接收该广播的应用个数过多时,则将这种非系统广播缓存。而可以准确识别广播发送方发出的广播是上述所介绍的任一种广播方法就是识别广播的标识。每一个广播都有自己的标识(例如微信广播的标识是:com.tencent.mm.broadcast)。确定好这些广播之后,可以将这些广播加入到广播名单中。加入到广播名单中之后,也就成为了预设的第二应用的广播。
当AMS在接收到第一广播时,可以将第一广播与广播名单进行匹配,当确定第一广播属于名单中的广播时,则缓存第一广播,停止发送到第一应用。
此外,缓存第一广播之后,该方法还可以包括步骤440,获取待发送至第一应用的第三广播。
AMS在接收广播时,可以会在不同的时间段接收到同一种广播或者是同一类型的广播。因此,在接收到第三广播时,则需要判断第三广播与第一广播是否属于同一种或者是同一类型的广播;如果第三广播与第一广播为同一种或者同一类型的广播时,则缓存第三广播,并删除已缓存的第一广播。
这里所说的同一种广播,例如电量广播,在第一时刻,广播发送方发出的电量广播显示电量的数值是90%,而在第二时刻,广播发送方发出的电量广播显示电量是70%。而这两个广播本来就是同一种广播,如果都进行缓存的话,将会占用系统资源,而电量本身就是需要实时更新的,当接收到第二时刻发送的电量广播时,第一时刻接收的电量广播已经没有任何意义。所以,当AMS接收到显示电量为70%的电量广播时,就可以将显示电量为90%的电量广播删除,只缓存显示电量为70%的电量广播即可。
类似的,当接收到的第三广播是和第一广播属于同一类型的广播,例如第一广播是亮屏广播,而第三广播是灭屏广播。这类广播同样只缓存最后一次更新的广播就好,因此,可以删除第一广播,而只缓存第三广播即可。如此可以大大节省系统资源,提高系统的性能。
还应说明的是,一种广播,可能仅仅是针对某一应用程序或者某几个应用程序而言,需要冻结;而对于其他应用程序而言,不需要冻结。当该种广播需要发送到其他应用程序中时,AMS会按照规定将其发送到对应的应用程序中。例如,Facebook和MSN都将接收电量更新的广播。而Facebook已经处于后台,且满足上述所介绍的任意一种冻结广播的条件。那么,AMS将会将该电量广播暂时停止发送到Facebook中,而将其进行缓存。而MSN所要接收的广播并不需要冻结,因此,该广播将会照旧发送到MSN当中。
与缓存广播相对应的,本发明的实施例中,还包括解冻广播的方法步骤。
步骤450,解冻第一广播,发送第一广播至第一应用。
具体的解冻第一广播的条件可以包括:检测到第一应用由终端的操作系统的后台运行切换至前台运行。或者,获取待发送至第一应用的第二广播,其中,第二广播属于预设重要广播。
解冻的前提是,当第一应用处于后台运行时,所接收的全部或者部分广播已经被冻结。这里的部分广播是指步骤430中所介绍的接收者众多、发送频率过高以及导致系统卡顿等等类型的广播。当第一应用由后台切换到前台 运行时,则将这些广播解冻,通过AMS依次发送到广播接收方。
而预设的重要的广播,可以是电话广播,或者短信广播等等。当有电话接入或者短信接入时,第一应用可能需要立即处理这些广播。而处理这些广播的前提是,需要处理当前正在缓存的广播。所以,AMS会将缓存的广播首先发送到第一应用中,当第一应用处理完毕之后,再将重要的广播发送到第一应用中,以便于第一应用及时的处理重要广播。
应理解,解冻第一广播的条件不仅仅包括上述介绍的两种情况。也可以是以下情形中的一种或者多种。
例如,第一应用与其他应用之间存在互相依赖关系,当其他应用需要解冻时,因为第一应用与该应用之间的依赖关系,所以需要将第一应用所要接收的广播解冻;和/或冻结的广播时间阈值大于第四预定阈值;和/或冻结的广播的数量大于第五预定阈值;又或者包括一些异常情况等等。
例如,A应用程序捆绑B应用程序的服务功能(比如,利用打车软件进行支付时,可能需要绑定手机银行客户端的支付功能),和/或冻结的广播的时间大于1小时;和/或冻结的广播数量大于50条等等。当满足这些条件时,AMS同样会对第一应用需要接收,而当前正在被冻结的广播进行解冻。
优选的,在解冻广播时,AMS可以按照广播冻结的时间顺序对广播进行解冻,然后依次处理,也就是将解冻后的广播按照冻结的时间顺序依次分发到需要接收这些广播的一个或者多个应用程序中,直至所有冻结的广播都处理完毕。然后,再将待发送的重要的广播发送到该应用程序中。换言之,AMS再处理广播时,无论是冻结的广播或者未冻结的广播,都要按照接收广播时间的先后顺序进行处理。
还应理解的是,广播可以分为有序广播和无序广播。所以,AMS在接收到广播时,还可以先将广播分为有序广播和无序广播。若发现有序广播中的哪些广播需要冻结时,则将需要冻结的有序广播加入到有序广播冻结队列中进行缓存。若发现无序广播中的哪些广播需要冻结时,则将需要冻结的无序 广播加入到无序广播的冻结队列中进行缓存。
而当冻结的广播需要解冻时,同样是分为解冻有序广播和解冻无序广播。在解冻无序广播之后,可以将一种无序广播同时发送到多个广播接收方中。而在解冻有序广播之后,则需要一个一个的发送广播,当一个广播发送到对应的某一个应用程序中后,AMS需要在接收到该应用程序发送的成功通知指令后,在将该广播发送到下一个对应的应用程序中,或者是将其他广播发送到对应的某一个应用程序中。
在一个具体的实施例中,终端以手机为例进行说明。手机中安装了Facebook、MSN、以及Skype等等中的一个或者多个应用程序,其中,Facebook和MSN正在后台运行,而Skype在前台运行。
当AMS在接收到广播发送方发送的电量广播后,已经确定该广播需要分别发送到Facebook、MSN以及Skype中。其中,Facebook已经在后台运行的时间超过了5分钟(假设第一阈值是5分钟),MSN则是刚刚由前台切换到后台运行,运行时间并没有超过5分钟。Skype则一直处于前台运行。那么,AMS会根据上述情况,将电量广播分别发送到MSN和Skype中。而因为Facebook中要接收的广播则均需要进行缓存。所以,电量广播暂时不会发送到Facebook中,而是被缓存在存储器在某一个存储区中。暂时停止发送到Facebook中。
在另一个具体的例子中,假设终端在安装Skype时,Skype还绑定了一款游戏软件,该软件频繁的接收广播。目的就是为了在接收广播的过程中,频繁被唤醒,然后去下载一些广告等等,这样,在很短的时间内,例如30分钟内,该游戏软件就可以消耗电量值达到百分之五。所消耗的电量已经超过了第二预定阈值(例如一小时内消耗电量为4%)。
又或者,假设Facebook在后台运行时,中央AMS(Central Processing Unit,简称CPU)的资源为10~15%,而第四预定阈值为5%,那么360安全卫士在 后台运行时,所占用的资源已经超过了第四预定阈值。
针对上述两种情况,AMS同样会缓存这两种应用程序所要接收的广播。
可选的,在某一些应用程序中,如果缓存该应用程序的所有广播,可能会造成一些不便,例如360安全卫士,它可能接收到一些广播是关于垃圾短信或者骚扰电话的。而这些广播如果都被缓存的话,那么360就无法立即拦截这些短信或者广播,从而对用户造成一些不必要的困扰。又或者,有一些广播是重要的广播,需要用户立即处理,而如果将这些广播同样冻结的话,也会对用户造成不便。
所以,在本实施例的另一个具体的例子中,可以只冻结预设冻结广播。其中,预设冻结广播包括静态配置的系统广播和动态确定的非系统广播。预设冻结广播可以显示在一个广播名单上。为了读者更好的理解预设冻结广播的表现形式,本实施例中画出一个表格,举例说明预设冻结广播种类以及广播名单的组成形式。当然,这里仅仅是一个范例,预设冻结广播的表现形式也可以采用其他方式,这里不做任何的限定。而在广播名单中的所有广播仅仅是有限的举例,并不能够完全代表广播名单中的所有广播。
具体的广播名单的表现形式如表1所示:
表1
Figure PCTCN2016077844-appb-000001
AMS在接收到广播后,都将会与广播名单进行匹配,当确定某一广播存在于广播名单中时,说明该广播是预设冻结广播,而该广播所要发送的应用程序符合在上文中所介绍的任意一种缓存广播的条件,那么该广播则会被缓存到存储器中。否则,按照相应的规定,将该广播分发到对应的应用程序中。
而为了减少冻结广播的数量,提高系统的性能。在本实施例中的另一个具体的例子中,若AMS识别到广播发送方发出的广播是同一种广播和/或同一类广播时,例如发出的广播是电量广播,前一次冻结并缓存的电量广播显示电量的数值是90%,而本次显示的电量广播则是89%。那么,AMS将会将冻结的前一次广播删除掉,然后冻结本次的电量广播,即在存储器中只缓存89%的电量广播。类似的,若是同一类型的广播,例如是亮屏/灭屏广播,存储器中当前存储的是亮屏广播,而本次需要冻结的广播是灭屏广播,那么AMS将会将当前存储的亮屏广播删除,然后将本次的灭屏的广播冻结,也即是将本次的灭屏广播缓存到存储器中。从而节省资源,提高系统的性能。
当然,与冻结广播相对应的,AMS还用于为冻结的广播进行解冻。而具体的解冻条件已经在上文中详细说明,这里同样不在赘述。仅仅是说明解冻的过程,具体过程参见图5所示的解冻广播的信令流程图。
图5为本发明实施例提供的解冻广播的信令流程图,具体解冻广播的信令流程如图5(a)和图5(b)所示。其中,图5(a)是当检测到应用由后台切换到前台时,解冻广播的信令流程图。图5(b)是当AMS获取待发送到第一应用的第二广播时,解冻广播的信令流程图。
具体的,当已被冻结的广播满足图4中的步骤440所介绍的任一种解冻条件时,广播分发模块则将已冻结的广播从缓存中取出,确定冻结的广播需要发送到哪些广播接收方中,然后将广播的属性(例如广播发送方的进程ID和/或用户ID,广播发送方,广播接收方,广播接收方的进程ID和/或用户ID等)以及广播的内容进行封装,形成一个broadcast record。将broadcast record依次发送到广播的接收方中。
本发明实施例提供的一种管控广播的方法,当识别到一个或者多个应用程序处于后台运行,以及满足一定的条件时,则将一个或者多个应用程序即将要接收的广播进行冻结。由此解决一个或者多个应用程序在后台频繁的接收广播,导致的系统卡顿的问题,以及过高消耗终端设备的电量,导致终端 设备发热的问题等,同时进一步的提高了系统的性能。而当一个或者多个应用程序由后台切换到前台运行时,和/或满足第二预设条件时,可以解冻一个或者多个应用程序的广播,方便一个或者多个应用程序处理其要接收的广播。
与上述广播的管控方法实施例相对应的,本发明实施例中还提供了一种广播的管控装置。图6为本发明实施例提供的一种广播的管控装置结构示意图600,如图6所示,该装置包括:广播获取模块601,广播分发模块602。
广播获取模块601,用于当第一应用运行于终端的操作系统的后台时,获取待发送至第一应用的第一广播。
广播分发模块602,用于缓存第一广播,停止发送第一广播至第一应用。
可选的,广播分发模块602还用于,确定第一应用的运行特征满足第一预设冻结条件,其中第一应用的运行特征包括第一应用在终端的操作系统的后台持续运行时间,第一预设冻结条件包括应用的后台持续运行时间大于预设运行时间。
进一步可选的,广播分发模块602还用于,确定第一广播属于预设冻结广播,其中,预设冻结广播包括预设的系统广播和预设的第二应用广播中的至少一个。
进一步可选的,广播分发模块602还用于,确定第一广播的运行特征满足第二预设冻结条件,其中第一广播的运行特征包括第一广播的接收者数量,第二预设冻结条件包括广播的接收者数量大于预设接收者数量;或者,确定第一广播的运行特征满足第二预设冻结条件,其中第一广播的运行特征包括第一广播的发送频率,第二预设冻结条件包括广播的发送频率高于预设发送频率。
可选的,广播分发模块602还用于:获取待发送至第一应用的第三广播;
确定第三广播与第一广播是否属于同一类型的广播;
如果第三广播与第一广播为同一类型的广播,则缓存第三广播,并删除 已缓存的第一广播。
与缓存第一广播相对应的:
广播分发模块602还用于,解冻所述第一广播,发送所述第一广播至所述第一应用。
而解冻的条件可以包括:
广播分发模块602还用于检测第一应用由终端的操作系统的后台运行切换至前台运行;或者,广播分发模块还用于获取待发送至第一应用的第二广播,其中,第二广播属于预设重要广播。
而本实施例中的所有的功能模块所执行的具体的方法动作,可以参考广播的管控方法步骤,为叙述简便,这里不再赘述。
还应理解的是,在与本实施例对应的广播的管控方法实施例中,因为是以安卓系统为例进行说明,所以广播分发模块均以AMS为例进行说明。但是,本发明不仅仅可以应用到安卓系统中,同样可以应用到其他的系统中,因此,广播分发模块在其他应用系统中,可以表现其他形式,这里不做限定。
本实施例提供的一种广播的管控装置,当识别到一个或者多个应用程序处于后台运行,以及满足一定的条件时,则将一个或者多个应用程序即将要接收的广播进行冻结。由此解决一个或者多个应用程序在后台频繁的接收广播,导致的系统卡顿的问题,以及过高消耗终端设备的电量,导致终端设备发热的问题等,同时进一步的提高了系统的性能。而当一个或者多个应用程序由后台切换到前台运行时,和/或满足解冻条件时,可以解冻一个或者多个应用程序的广播,方便一个或者多个应用程序处理其要接收的广播。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来 执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理模块执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

  1. 一种广播的管控方法,其特征在于,所述方法应用于终端中,其中,第一应用运行于所述终端的操作系统上,所述方法包括:
    当所述第一应用运行于所述终端的操作系统的后台时,获取待发送至所述第一应用的第一广播;
    缓存所述第一广播,停止发送所述第一广播至所述第一应用。
  2. 根据权利要求1所述的方法,其特征在于,所述缓存所述第一广播,停止发送所述第一广播至所述第一应用,所述方法还包括:
    确定所述第一应用的运行特征满足第一预设冻结条件,其中所述第一应用的运行特征包括所述第一应用在所述终端的操作系统的后台持续运行时间,所述第一预设冻结条件包括应用的后台持续运行时间大于预设运行时间。
  3. 根据权利要求1或2所述的方法,其特征在于,所述缓存所述第一广播,停止发送所述第一广播至所述第一应用,所述方法还包括:
    确定所述第一广播属于预设冻结广播,其中,所述预设冻结广播包括预设的系统广播和预设的第二应用广播中的至少一个。
  4. 根据权利要求1或2所述的方法,其特征在于,所述缓存所述第一广播,停止发送所述第一广播至所述第一应用,所述方法还包括:
    确定所述第一广播的运行特征满足第二预设冻结条件,其中所述第一广播的运行特征包括所述第一广播的接收者数量,所述第二预设冻结条件包括广播的接收者数量大于预设接收者数量;或者,
    确定所述第一广播的运行特征满足第二预设冻结条件,其中所述第一广播的运行特征包括所述第一广播的发送频率,所述第二预设冻结条件包括广播的发送频率高于预设发送频率。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述缓存所述第一广播,停止发送至所述第一应用之后,所述方法还包括:
    解冻所述第一广播,发送所述第一广播至所述第一应用。
  6. 根据权利要求5所述的方法,其特征在于,所述解冻所述第一广播之前,所述方法还包括:
    检测到所述第一应用由所述终端的操作系统的后台运行切换至前台运行。
  7. 根据权利要求5所述的方法,其特征在于,所述解冻所述第一广播之前,所述方法还包括:
    获取待发送至所述第一应用的第二广播,其中,所述第二广播属于预设重要广播。
  8. 根据权利要求1至4任一所述的方法,其特征在于,所述缓存所述第一广播之后,所述方法包括:
    获取待发送至所述第一应用的第三广播;
    确定所述第三广播与所述第一广播是否属于同一类型的广播;
    如果所述第三广播与所述第一广播为同一类型的广播,则缓存所述第三广播,并删除已缓存的所述第一广播。
  9. 一种广播的管控装置,其特征在于,第一应用运行于所述终端的操作系统上,所述装置包括:
    广播获取模块,用于当所述第一应用运行于所述终端的操作系统的后台时,获取待发送至所述第一应用的第一广播;
    广播分发模块,用于缓存所述第一广播,停止发送所述第一广播至所述第一应用。
  10. 根据权利要求9所述的装置,其特征在于,所述广播分发模块还用于,确定所述第一应用的运行特征满足第一预设冻结条件,其中所述第一应用的运行特征包括所述第一应用在所述终端的操作系统的后台持续运行时间,所述第一预设冻结条件包括应用的后台持续运行时间大于预设运行时间。
  11. 根据权利要求9或10所述的装置,其特征在于,所述广播分发模块还用于,确定所述第一广播属于预设冻结广播,其中,所述预设冻结广播包括预设的系统广播和预设的第二应用广播中的至少一个。
  12. 根据权利要求9或10所述的装置,其特征在于,所述广播分发模块还用于,确定所述第一广播的运行特征满足第二预设冻结条件,其中所述第一广播的运行特征包括所述第一广播的接收者数量,所述第二预设冻结条件包括广播的接收者数量大于预设接收者数量;或者,
    确定所述第一广播的运行特征满足第二预设冻结条件,其中所述第一广播的运行特征包括所述第一广播的发送频率,所述第二预设冻结条件包括广播的发送频率高于预设发送频率。
  13. 根据权利要求9至12任一项所述的装置,其特征在于,所述广播分发模块还用于,解冻所述第一广播,发送所述第一广播至所述第一应用。
  14. 根据权利要求13所述的装置,其特征在于,所述广播分发模块还用于检测所述第一应用由所述终端的操作系统的后台运行切换至前台运行。
  15. 根据权利要求13所述的装置,其特征在于,所述广播分发模块还用于获取待发送至所述第一应用的第二广播,其中,所述第二广播属于预设重要广播。
  16. 根据权利要求9至12任一项所述的装置,其特征在于,所述广播分发模块还用于:获取待发送至所述第一应用的第三广播;
    确定所述第三广播与所述第一广播是否属于同一类型的广播;
    如果所述第三广播与所述第一广播为同一类型的广播,则缓存所述第三广播,并删除已缓存的所述第一广播。
  17. 一种终端,其特征在于,所述终端包括处理器、存储器、系统总线及通信接口;所述处理器、存储器以及通信接口通过系统总线建立连接,一个或多个程序都将被存储在存储器中并被配置为所述处理器执行,一个或多个程序包括用于执行权利要求1至8中任一项所述方法的所有指令。
PCT/CN2016/077844 2016-03-30 2016-03-30 广播的管控方法、装置及终端 WO2017166117A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US16/089,447 US10635510B2 (en) 2016-03-30 2016-03-30 Broadcast control method and apparatus, and terminal
PCT/CN2016/077844 WO2017166117A1 (zh) 2016-03-30 2016-03-30 广播的管控方法、装置及终端
CN201680009868.5A CN107548489B (zh) 2016-03-30 2016-03-30 广播的管控方法、装置及终端
EP16895898.1A EP3418892B1 (en) 2016-03-30 2016-03-30 Method and device for managing and controlling broadcast, and terminal
US16/803,476 US11429461B2 (en) 2016-03-30 2020-02-27 Broadcast control method and apparatus, and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/077844 WO2017166117A1 (zh) 2016-03-30 2016-03-30 广播的管控方法、装置及终端

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/089,447 A-371-Of-International US10635510B2 (en) 2016-03-30 2016-03-30 Broadcast control method and apparatus, and terminal
US16/803,476 Continuation US11429461B2 (en) 2016-03-30 2020-02-27 Broadcast control method and apparatus, and terminal

Publications (1)

Publication Number Publication Date
WO2017166117A1 true WO2017166117A1 (zh) 2017-10-05

Family

ID=59963195

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/077844 WO2017166117A1 (zh) 2016-03-30 2016-03-30 广播的管控方法、装置及终端

Country Status (4)

Country Link
US (2) US10635510B2 (zh)
EP (1) EP3418892B1 (zh)
CN (1) CN107548489B (zh)
WO (1) WO2017166117A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020220868A1 (zh) * 2019-04-30 2020-11-05 中兴通讯股份有限公司 广播控制方法、终端及计算机可读存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936994B (zh) * 2017-03-10 2019-10-01 Oppo广东移动通信有限公司 一种广播接收者的控制方法、装置及移动终端
CN106937258B (zh) * 2017-03-10 2019-07-12 Oppo广东移动通信有限公司 一种广播的控制方法、装置及移动终端
CN106936826B (zh) * 2017-03-10 2020-01-14 Oppo广东移动通信有限公司 广播接收器的注册方法、装置和终端设备
CN111857859A (zh) * 2019-04-30 2020-10-30 中兴通讯股份有限公司 应用控制方法、装置、终端及计算机可读存储介质
CN112616179A (zh) * 2020-12-31 2021-04-06 努比亚技术有限公司 一种广播拦截方法、终端及计算机可读存储介质
CN116185669B (zh) * 2023-04-27 2023-09-22 荣耀终端有限公司 一种广播分发方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595547A (zh) * 2013-11-15 2014-02-19 北京奇虎科技有限公司 智能设备的广播拦截方法和装置
CN104516806A (zh) * 2014-12-26 2015-04-15 北京奇虎科技有限公司 移动终端的耗电信息的检测结果展示方法及系统
CN104991803A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 对android应用程序在特定条件下自启动的管控系统及方法
CN105094285A (zh) * 2015-07-31 2015-11-25 北京金山安全软件有限公司 应用程序的省电处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4597869B2 (ja) * 2003-12-24 2010-12-15 パナソニック株式会社 放送受信端末
US20070248088A1 (en) * 2006-04-21 2007-10-25 Lim Seau S Method and apparatus for transmitting a multicast message
US20080050117A1 (en) * 2006-06-12 2008-02-28 Bikash Koley Method and apparatus for photonic resiliency of a packet switched network
US8621520B2 (en) 2009-05-19 2013-12-31 Qualcomm Incorporated Delivery of selective content to client applications by mobile broadcast device with content filtering capability
CN103368914A (zh) * 2012-03-31 2013-10-23 百度在线网络技术(北京)有限公司 一种用于拦截消息的方法、装置和设备
CN104601341B (zh) * 2014-12-30 2018-01-19 广东欧珀移动通信有限公司 一种广播拦截方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595547A (zh) * 2013-11-15 2014-02-19 北京奇虎科技有限公司 智能设备的广播拦截方法和装置
CN104516806A (zh) * 2014-12-26 2015-04-15 北京奇虎科技有限公司 移动终端的耗电信息的检测结果展示方法及系统
CN104991803A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 对android应用程序在特定条件下自启动的管控系统及方法
CN105094285A (zh) * 2015-07-31 2015-11-25 北京金山安全软件有限公司 应用程序的省电处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3418892A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020220868A1 (zh) * 2019-04-30 2020-11-05 中兴通讯股份有限公司 广播控制方法、终端及计算机可读存储介质
US11687140B2 (en) 2019-04-30 2023-06-27 Zte Corporation Broadcast control method for frozen applications

Also Published As

Publication number Publication date
US20200192729A1 (en) 2020-06-18
US20190108076A1 (en) 2019-04-11
EP3418892A1 (en) 2018-12-26
EP3418892B1 (en) 2021-09-01
US11429461B2 (en) 2022-08-30
CN107548489A (zh) 2018-01-05
CN107548489B (zh) 2021-05-14
US10635510B2 (en) 2020-04-28
EP3418892A4 (en) 2019-03-27

Similar Documents

Publication Publication Date Title
WO2017166117A1 (zh) 广播的管控方法、装置及终端
US10548087B2 (en) Techniques for managing idle state activity in mobile devices
JP5694602B2 (ja) ワイヤレスローカルエリアネットワークへのデータのオフロード
US10455509B2 (en) Energy efficient data handling for mobile devices
JP5863217B2 (ja) アプリケーション通信を同期化するためのシステムおよび方法
GB2504634A (en) Adjusting a polling interval for a first service based on a polling interval of a second service to align traffic received from distinct hosts
CN105159776A (zh) 进程处理方法及装置
US9730037B2 (en) Cellular data communication for mobile devices
WO2016107456A1 (zh) 一种处理消息的方法、装置及系统
WO2020220748A1 (zh) 应用控制方法、装置、终端及计算机可读存储介质
US9148302B2 (en) Automatic full download of important emails
US20050255833A1 (en) Message aggregation system and method for a mobile communication device
CN109992323B (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
WO2020220868A1 (zh) 广播控制方法、终端及计算机可读存储介质
US8024510B2 (en) Cyclic buffer mechanism for receiving wireless data under varying data traffic conditions
EP2860943A1 (en) Push-Protocol Messaging System
WO2021000666A1 (zh) 应用程序冷冻控制方法、装置、终端及可读存储介质
CN117544573A (zh) 消息延时推送方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2016895898

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016895898

Country of ref document: EP

Effective date: 20180918

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16895898

Country of ref document: EP

Kind code of ref document: A1