Service pushing method, electronic equipment and readable storage medium

By obtaining and analyzing the parameter information and scene detection capabilities of auxiliary services supported by electronic devices, subscribing to the target scene fence, the problem of how to accurately push auxiliary services is solved, and efficient auxiliary services push in different scenarios is achieved.

CN119960923APending Publication Date: 2025-05-09HONOR DEVICE CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311428073.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-30
Publication Date
2025-05-09

AI Technical Summary

Technical Problem

In multimodal human-computer interaction scenarios, how to accurately push auxiliary services to users, especially when electronic devices are in different scenarios, has become a hot topic of current research.

Method used

By obtaining parameter information of each auxiliary service supported by electronic devices, including application list and scene trigger information, and querying the scene detection capabilities supported by electronic devices, subscribe to the target scene fence. When a scenario that meets the auxiliary service triggering condition is detected, the electronic device can accurately push the corresponding auxiliary service.

Benefits of technology

It ensures that electronic devices can accurately push corresponding auxiliary services when the auxiliary service trigger conditions are met, improving the convenience and experience of users' operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119960923A_ABST
    Figure CN119960923A_ABST
Patent Text Reader

Abstract

The invention discloses a service pushing method, electronic equipment and a readable storage medium, and belongs to the technical field of terminals. The method comprises the steps that parameter information of all auxiliary services supported by the electronic equipment is obtained, the parameter information of one auxiliary service comprises an application list and scene triggering information, and the application list comprises application information of application programs supported by one auxiliary service and installed in the electronic equipment; and querying the scene detection capability supported by the electronic equipment. And subscribing the target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic equipment. Thus, the parameter information of the auxiliary service and the scene detection capability supported by the electronic equipment are merged to determine the auxiliary service which is finally allowed to be provided by the electronic equipment, and the corresponding scene fence is subscribed according to the determined auxiliary service which is allowed to be provided. The auxiliary service can be accurately pushed to the user under the condition that the scene fence is detected to be triggered.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to a service push method, an electronic device, and a readable storage medium. Background Art

[0002] Multimodal human-computer interaction refers to the interaction between users and electronic devices through multiple channels such as sound, body language, information carriers (text, pictures, audio, video), and environment, fully simulating the interaction between users. Multimodal human-computer interaction scenarios usually involve multiple applications and multiple auxiliary services. When electronic devices are in different scenarios, how to accurately push auxiliary services to users has become a hot topic in current research. Summary of the invention

[0003] The present application provides a service push method, an electronic device and a readable storage medium, which can solve the problem of how to accurately push auxiliary services to users. The technical solution is as follows:

[0004] In a first aspect, a method for push service is provided, which is applied to an electronic device, and the method includes:

[0005] Obtain parameter information of each auxiliary service supported by the electronic device. The parameter information of an auxiliary service includes an application list and scene trigger information. The application list includes application information of an application supported by the auxiliary service and installed by the electronic device. Query the scene detection capability supported by the electronic device, and subscribe to the target scene fence based on the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, so that the electronic device pushes the corresponding auxiliary service when it detects that the auxiliary service trigger condition is met according to the target scene fence.

[0006] The target scene fence includes at least one scene fence, and different scene fences in the at least one scene fence correspond to different auxiliary services.

[0007] In this way, by merging the obstacle scenarios supported by the auxiliary service and the scene detection capabilities of the electronic device, the electronic device is equipped with the obstacle scenarios related to the auxiliary service that are ultimately subscribed to. Therefore, it can be ensured that when the subscribed obstacle scenario is triggered, the electronic device can accurately push the corresponding auxiliary service according to the scene fence.

[0008] As an example of the present application, the specific implementation of obtaining parameter information of each auxiliary service supported by an electronic device may include: for any one of the auxiliary services, query the application package including the specified identifier from the application packages of all applications installed on the electronic device, and any one of the auxiliary services supports the application corresponding to the application package including the specified identifier. Add the application information corresponding to each application package in all the queried application packages to the application list corresponding to any one of the auxiliary services. Obtain the scene trigger information of any one of the auxiliary services, and different scene trigger information corresponds to different specified identifiers. The added application list and the scene trigger information of any one of the auxiliary services are obtained as the parameter information of any one of the auxiliary services.

[0009] In this way, for any one of the auxiliary services, the parameter information of this auxiliary service is determined by querying the application list and scene trigger information supported by this auxiliary service, so as to facilitate the subsequent scene fence subscription based on the application list and scene trigger information supported by this auxiliary service. In this way, when this auxiliary service is subscribed to the scene fence, when an obstacle scene is triggered while an application in the application list is running in the foreground, the electronic device can successfully push this auxiliary service.

[0010] As an example of the present application, before querying the application packages of all applications installed on the electronic device for an application package including a specified identifier, the electronic device may also query whether the hardware conditions and / or software conditions related to the functional implementation of any auxiliary service meet the preset service support conditions. If the hardware conditions and / or software conditions related to the functional implementation of any auxiliary service meet the preset service support conditions, the operation of querying the application packages of all applications installed on the electronic device for an application package including the specified identifier is performed.

[0011] In this way, by querying the support status of each auxiliary service in the electronic device, it is possible to avoid the situation where the electronic device does not support a certain auxiliary service, resulting in the auxiliary service being unusable after being pushed.

[0012] As an example of the present application, based on the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, the specific implementation of subscribing to the target scene fence may include: for any one of the auxiliary services, determining whether the scene detection capability of the electronic device includes the scene detection capability indicated by the scene trigger information in the parameter information of any one of the auxiliary services. In the case where the scene detection capability of the electronic device includes the scene detection capability indicated by the scene trigger information in the parameter information of any one of the auxiliary services, subscribing to the scene fence of any one of the auxiliary services.

[0013] In this way, in the process of subscribing to various auxiliary services, by querying the scene detection capabilities supported by the electronic device, the electronic device can detect the subscribed obstacle scenes, thereby effectively pushing the auxiliary services and avoiding subscribing to obstacle scenes that the electronic device cannot detect, resulting in the failure to successfully push the corresponding auxiliary services after subscription.

[0014] As an example of the present application, the scene fence of any auxiliary service includes a mapping relationship between the scene trigger information of any auxiliary service and the application list. In this way, by establishing a mapping relationship between the application list and the scene trigger information, when the electronic device detects that an obstacle scene is triggered, it determines whether there is an application corresponding to the obstacle scene in the application list according to the mapping relationship, thereby deciding whether to push the auxiliary service.

[0015] As an example of the present application, according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, before subscribing to the target scene fence, the electronic device may also detect the screen on and off state and the power saving mode state of the electronic device. When the electronic device is in the screen on state and the power saving mode of the electronic device is in the off state, the operation of subscribing to the target scene fence is performed according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device.

[0016] In this way, by detecting the screen status and power saving mode status of the electronic device, the electronic device can subscribe to the scene fence when the screen is on and the power saving mode is not turned on, avoiding additional power consumption of the electronic device by subscribing to the scene fence when the screen is off and the power saving mode is turned on.

[0017] As an example of the present application, according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, after subscribing to the target scene fence, if the electronic device enters the screen-off state or the power saving mode of the electronic device enters the on state, the subscription to the target scene fence is canceled. In this way, since scene detection consumes a certain amount of power, canceling the subscription to the target scene fence when the screen is off or the power saving mode is turned on can save the operating power consumption of the electronic device.

[0018] As an example of the present application, according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, after subscribing to the target scene fence, if an application change event occurs in the electronic device, it is queried whether there is a target auxiliary service in each auxiliary service. The target auxiliary service is an auxiliary service of the target application that supports the change, and the application change event is an event of installing or uninstalling the application. If the target auxiliary service exists in each auxiliary service and the scene fence corresponding to the target auxiliary service has been subscribed, the scene fence corresponding to the target auxiliary service is updated so that the application information of the target application is removed or added in the updated scene fence.

[0019] In this way, when an application change event is detected, the subscribed auxiliary service is queried whether it supports the application in which the application change event occurs. If one or some of the subscribed auxiliary services support the application, the scene fences corresponding to this or these auxiliary services are updated, so that when an obstacle scene is triggered during the subsequent running of the application, the electronic device can successfully and accurately push the auxiliary service.

[0020] As an example of the present application, the electronic device includes a multi-mode decision engine, a decision-making middle station and an application package management service, and the multi-mode decision engine includes auxiliary service agents corresponding to each auxiliary service. In this case, the multi-mode decision engine obtains the parameter information of each auxiliary service from the application package management service through each auxiliary service agent, and the multi-mode decision engine queries the scene detection capability supported by the electronic device from the decision-making middle station. The multi-mode decision engine subscribes to the target scene fence to the decision-making middle station based on the parameter information of each auxiliary service and the scene detection capability supported by the electronic device.

[0021] A multi-mode decision engine is added to the electronic device. The multi-mode decision engine queries the parameter information of each auxiliary service through the auxiliary service agent, and queries the scene detection capability supported by the decision-making center. The parameter information of each auxiliary service is merged with the scene detection capability supported by the decision-making center to subscribe to the scene fence of the auxiliary service that is ultimately allowed to be pushed, so as to facilitate the subsequent successful push of the auxiliary service.

[0022] As an example of the present application, the target scene fence includes at least one scene fence, and different scene fences correspond to different auxiliary services. After subscribing to the target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, in response to the scene in which the electronic device is located being the obstacle scene indicated by the scene trigger information in the first scene fence, it is queried whether the application list in the first scene fence includes an application running in the foreground, and the first scene fence is a scene fence in the target scene fence. If the application list in the first scene fence includes an application running in the foreground, it is determined that the first scene fence is triggered. In this case, the auxiliary service corresponding to the first scene fence is pushed, so that the user can perform multimodal human-computer interaction with the electronic device through the auxiliary service corresponding to the first scene fence, thereby improving the convenience of the user in operating the electronic device.

[0023] In a second aspect, an electronic device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the push service method described in the first aspect when executing the computer program.

[0024] According to a third aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is executed on a computer, the computer executes the method for push service according to the first aspect.

[0025] In a fourth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method for push service described in the first aspect.

[0026] The technical effects obtained by the above-mentioned second aspect, third aspect and fourth aspect are similar to the technical effects obtained by the corresponding technical means in the above-mentioned first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 is a schematic diagram showing an application scenario according to an exemplary embodiment;

[0028] Figure 2 is a schematic diagram of an application scenario according to another exemplary embodiment;

[0029] Figure 3 is a schematic diagram of an application scenario according to another exemplary embodiment;

[0030] Figure 4 is a schematic diagram of an application scenario according to another exemplary embodiment;

[0031] Figure 5 is a schematic diagram of an application scenario according to another exemplary embodiment;

[0032] Figure 6 is a schematic diagram of an application scenario according to another exemplary embodiment;

[0033] Figure 7 is a schematic diagram of an application scenario according to another exemplary embodiment;

[0034] Figure 8 is a schematic diagram of a software system of an electronic device according to an exemplary embodiment;

[0035] Fig. 9 is a schematic diagram showing a method flow for pushing auxiliary services according to an exemplary embodiment;

[0036] Fig.10 is a flowchart showing whether a subscription scenario condition is met according to an exemplary embodiment;

[0037] Fig.11 is a schematic diagram of a process of refreshing a scene fence according to an exemplary embodiment;

[0038] Fig.12 The diagram is a schematic structural diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0039] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.

[0040] It should be understood that the "multiple" mentioned in this application refers to two or more. In the description of this application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate the clear description of the technical solution of this application, the words "first" and "second" are used to distinguish between the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first" and "second" do not limit the quantity and execution order, and the words "first" and "second" do not limit them to be different.

[0041] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0042] In some scenarios, users may have difficulty using electronic devices. Figure 1 For healthy people, there may be situational barriers, such as interaction, vision, hearing and other barriers, such as inconvenience in operating the phone, inconvenience in seeing or hearing; for people with disabilities, there may be physiological barriers, such as low vision and weak hearing. For example, when using a mobile phone, the user may be unable to reach the phone, cannot operate the phone with dirty hands, cannot see or see the phone clearly, is on the subway or bus, cannot hear or hear the phone clearly, is washing hands during a video call, or cannot operate the phone while driving. These scenarios are generally referred to as obstacle scenarios. Electronic devices provide multimodal human-computer interaction capabilities for obstacle scenarios, so that users can still use electronic devices smoothly in these obstacle scenarios.

[0043] Multimodal human-computer interaction generally involves multiple applications and multiple auxiliary services. As an example of this application, multiple applications include but are not limited to video applications, audio applications, social applications, and alarm clock applications, and multiple auxiliary services include but are not limited to visible and audible, free instructions, AI (artificial intelligence) subtitles, and air gestures. Among them, visible and audible means that users can control electronic devices to perform corresponding operations through voice, such as controlling car equipment to play music, etc. Free instructions means that users can control the alarm clock through voice after the alarm clock of the electronic device is triggered; AI subtitles means that it can help users translate and display video content in real time; air gestures allow users to make gestures in the air without touching the screen, keyboard, or touchpad to trigger electronic devices to perform operations such as fast forward, rewind, and pause the video.

[0044] In an obstacle scenario, a user may need an electronic device to accurately push auxiliary services so that the user can conveniently and smoothly operate the electronic device. To this end, an embodiment of the present application provides a service push method that can accurately push auxiliary services to users according to the scenario in which the electronic device is located.

[0045] In one example, a possible application scenario involved in the embodiment of the present application is introduced by taking the push of the "visible and speakable" auxiliary function as an example. As an example but not a limitation, the mobile phone provides an entry for turning on or off the "visible and speakable" auxiliary function, and the user can control the "visible and speakable" auxiliary function to be turned on or off through the entry. For example, the mobile phone provides this entry in the quick function control item of the setting application, see Figure 2 In Figure (a), Figure 2 Figure (a) is a schematic diagram of a quick function control interface according to an exemplary embodiment. The quick function control interface U1 provides a main switch 00 for quick function control and a voice control switch 01. When the user requires the mobile phone to actively push the "visible and speakable" auxiliary function in some scenarios, the main switch 00 for quick function control and the voice control switch 01 can be turned on to open the entrance. Accordingly, the mobile phone turns on the "visible and speakable" auxiliary function.

[0046] It should be noted that the above-mentioned entrance is only exemplary. In another example, the mobile phone may also provide other entrances related to turning on or off the "Visible and Speakable" auxiliary function. For example, the mobile phone may also provide the other entrance in the smart voice of the setting application. The embodiments of the present application are not limited to this.

[0047] When the "Visible and Speakable" auxiliary function is turned on, the phone actively pushes the "Visible and Speakable" auxiliary function in some scenarios. For example, in a possible application scenario, the phone plays a video through a video application, and the user places the phone playing the video on a stand. Figure 2 In (b), after a certain period of time (e.g., 10 seconds), the mobile phone automatically displays a push window 02 on the screen. The push window 02 mainly includes the service type, service function description information, and service control switch of the auxiliary service pushed by the mobile phone, such as Figure 2 As shown in Figure (b) in the figure, the service type is "Voice Control", the service function description is "When the device is on the stand, the video application can be controlled by voice", and the service control switch is turned on by default. After a certain period of time (for example, 5 seconds), if the user does not operate the phone, Figure 2 In Figure (c), the mobile phone displays the status bar capsule 03 and no longer displays the push window 02. The status bar capsule 03 includes prompt information for prompting the user how to operate. For example, the prompt information is "Try to say: play, pause, fast forward". The mobile phone can broadcast the prompt information by voice. In this way, the user can control the video being played by the mobile phone by voice. For example, when the user says "pause", see Figure 2 In Figure (d), the mobile phone pauses the video being played. In this way, when the mobile phone is playing a video and the user takes their hands off the phone for a preset time (for example, 10 seconds), the mobile phone automatically pushes the "visible and speakable" auxiliary function to the user, so that the user can control the video being played on the mobile phone by voice without operating the mobile phone, thereby improving the user experience.

[0048] See also Figure 2 In (c) of FIG. 1 , while displaying the status bar capsule 03, the mobile phone can also display the status bar capsule 04 (displayed as a highlighted state) at the top of the screen to indicate that the currently playing video can be controlled by voice. Figure 2 In Figure (d), while the user is controlling the playing video by voice, the status bar capsule 04 continues to be displayed on the top of the mobile phone, so that the user can know that the playing video can continue to be controlled by voice.

[0049] As an example of this application, see Figure 2 In Figure (d), after the mobile phone displays the status bar capsule 04 at the top of the screen, if the user wants to turn off the function of controlling the video by voice, the user can click the status bar capsule 04. Figure 2In FIG. (e), in response to the user's triggering operation on the status bar capsule 04, the mobile phone redisplays the push window 02. Afterwards, the user can trigger the service control switch in the push window 02 to the off state. In response to the user's triggering operation on the service control switch, the mobile phone turns off the "visible and talkable" auxiliary function. At this time, see Figure 2 In Figure (f), the voice control switch 01 in the quick function control interface U1 is also switched to the off state. In this way, the user does not need to turn off the "visible and audible" auxiliary function from the entrance in the quick function control interface U1 when the user does not need to control the video by voice, thereby improving the convenience of user operation.

[0050] See also Figure 3 In Figure (a), when the mobile phone displays the push window 02, if the user turns off the service control switch, see Figure 3 In Figure (b), the phone does not display Figure 2 The status bar capsule 03 shown in Figure (c) of FIG. 1 is replaced by the status bar capsule 04, which is only displayed at the top of the screen. At this time, the status bar capsule 04 is displayed in grayscale. In this way, when the user needs to turn on the "visible and talkable" auxiliary service again, he can click the status bar capsule 04. In response to the user's triggering operation on the status bar capsule 04, the mobile phone displays the following Figure 3 In the push window 02 shown in FIG. (c), the service control switch is in the off state. In this way, the user can trigger the service control switch to the on state in the push window 02, so that the mobile phone can pull up the "visible and talkable" auxiliary service again.

[0051] See also Figure 4 After the "Visible and Speakable" auxiliary service is launched, for example, the mobile phone displays Figure 4 In the case of the interface shown in Figure (a), if the user pulls down the notification bar, see Figure 4 In (b), in response to the user's operation of pulling down the notification bar, the mobile phone displays the push message 40 in the notification center. If the user slides the push message 40 to the left, in response to the user's left sliding operation, the mobile phone deletes the push message 40 from the notification bar and returns to the video playback interface. At this time, the "visible and talkable" auxiliary service is closed, see Figure 4 In Figure (c), the status bar capsule 04 may no longer be displayed in the video playback interface.

[0052] See also Figure 5 After the "Visible and Speakable" auxiliary service is launched, for example, the mobile phone displays Figure 5 In the case of the interface shown in Figure (a), if the user triggers the mobile phone to exit the video playback interface, the mobile phone automatically turns off the "visible and talkable" service, see Figure 5In FIG. 5( b ), the mobile phone may display an exit prompt message 50 in the interface after exiting, for example, the exit prompt message 50 is “Voice control is turned off”. As an example but not a limitation, the mobile phone may also broadcast the exit prompt message by voice.

[0053] In another example, another possible application scenario involved in the embodiment of the present application is introduced by taking the push of the "AI subtitles" auxiliary function as an example. As an example but not a limitation, the mobile phone also provides an entry to turn on or off the "AI subtitles" auxiliary function, and the user can control the "AI subtitles" auxiliary function to turn on or off through this entry. For example, the mobile phone provides this entry in the quick function control item of the setting application, see Figure 6 In Figure (a), Figure 6 Figure (a) is a schematic diagram of a quick function control interface according to an exemplary embodiment. The quick function control interface U1 provides a main switch 00 for quick function control and a translation switch (i.e., the switch for Honor transcription) 05. When the user needs the mobile phone to actively push the "AI subtitles" auxiliary function in some scenarios, the main switch 00 for quick function control can be turned on, and the translation switch 05 can be turned on to open the entrance. Accordingly, the mobile phone turns on the "AI subtitles" auxiliary function.

[0054] same, Figure 6 The entrance provided in Figure (a) is only exemplary. In another example, the mobile phone may also provide other entrances related to turning on or off the "AI subtitle" auxiliary function, which is not limited to the embodiments of the present application.

[0055] When the "AI Subtitles" auxiliary function is turned on, in some scenarios, the mobile phone actively pushes the "AI Subtitles" auxiliary function. For example, in a possible application scenario, the mobile phone plays a video through a video application. When the battery of the mobile phone is low or the mobile phone is silent, the mobile phone automatically displays a push window 20 on the screen. The push window 20 mainly includes the service type, service function description information and service control switch of the auxiliary service pushed by the mobile phone, such as Figure 6 As shown in Figure (b), the service type is "Honor Transcribe", which is the "AI Subtitle" auxiliary service. The service function description is "When your device is silent or the battery is low, the subtitle function will be automatically turned on under the video." The service control switch is turned off by default. If the user needs the phone to perform the "AI Subtitle" auxiliary function, the user can trigger the service control switch to turn it on. Figure 6In Figure (c), in response to the user's triggering operation, the mobile phone displays a subtitle display box 21 on the screen, and then displays the Chinese subtitles of the currently playing video in the subtitle display box 21. In addition, the mobile phone can also display a status bar capsule 22 at the top of the screen (the status bar capsule 22 can be displayed as a highlighted state at this time), so that the user can know that the current mobile phone is executing the "AI subtitle" auxiliary service.

[0056] As an example of the present application, when the mobile phone displays the status bar capsule 22 at the top of the screen, the user can trigger the status bar capsule 22. In response to the user's triggering operation on the status bar capsule 22, the mobile phone displays the push window 20 again. If the user does not need to display the subtitles of the video, the user can trigger the service control switch in the push window 20 to the off state. In response to the user's triggering operation, the mobile phone no longer executes the "AI subtitle" auxiliary service, that is, the subtitle display box 21 is no longer displayed on the screen, and the push window 20 disappears. In addition, the mobile phone switches the switch of "Honor Transcribe" in the quick function control interface U1 to the off state. In this way, it avoids the need for users to close the entrance in the quick function control interface U1 when they do not need the mobile phone to translate the video content, thereby improving the convenience of user operation.

[0057] In another possible case, see Figure 7 In (a), the mobile phone displays a push window 20 on the screen. The user may not need the mobile phone to translate the content of the video playback, that is, the control switch is not turned on. In this case, see Figure 7 In the figure (b), after a certain period of time (for example, 5 seconds), the mobile phone can display the status bar capsule 22 at the top of the screen (the status bar capsule 22 at this time can be displayed in grayscale to match the status bar capsule 22). Figure 6 (c) in the figure indicates that the "AI Subtitle" auxiliary service is not currently enabled). Figure 7 As shown in FIG. 2( b), when the user needs to use the “AI subtitle” auxiliary service, the user can click the status bar capsule 22. Figure 7 In Figure (c), in response to the user clicking on the status bar capsule 22, the mobile phone displays the push window 20 again, so that the user can trigger the mobile phone to turn on the "AI subtitles" auxiliary function by turning on the service control switch in the push window 20. In this way, if the user does not turn on the switch when the push window 20 is first displayed, the push capsule 22 is displayed at the top of the screen, so that the user can trigger the mobile phone to execute the "AI subtitles" auxiliary function at any time through the push capsule 22 during the video playback process, which can improve the user experience, and because the status bar capsule 22 is displayed at the top of the screen and occupies a small area, it can avoid blocking the video being played.

[0058] It should be noted that the above is explained by taking the case where the service control switch in the push window 20 is in the off state by default when the push window 20 is displayed. In another example, the service control switch in the push window 20 may also be in the on state by default. In this case, if the user needs to use the "AI subtitle" auxiliary service, the user does not need to operate the mobile phone. After a certain period of time, the mobile phone displays the subtitle display box 21 on the screen and displays the status bar capsule 22 at the top of the screen. If the user does not need to use the "AI subtitle" auxiliary service, the service control switch can be manually turned off.

[0059] Similarly, after the mobile phone starts the "AI Subtitles" auxiliary service, the user can turn off the "AI Subtitles" auxiliary service by pulling down the notification bar. When the video is closed, the mobile phone will automatically turn off the "AI Subtitles" auxiliary service. I will not introduce it in detail here.

[0060] It should be noted that the above application scenarios are only exemplary and do not limit the application scenarios of the method provided in the embodiments of the present application. In another example, the method provided in the embodiments of the present application can also be applied to other application scenarios, such as alarm clock obstacle scenarios.

[0061] It should be noted that the above description is based on the example of a mobile phone as an electronic device. In addition, the method provided in the embodiment of the present application can also be applied to devices such as tablet computers, desktop computers, laptop computers, handheld computers, notebook computers, vehicle-mounted devices, ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDA), augmented reality (AR) and virtual reality (VR) devices, etc., and the embodiment of the present application does not limit this.

[0062] The software system of the electronic device may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software system of the electronic device.

[0063] Figure 8 is a block diagram of a software system of an electronic device provided in an embodiment of the present application. Figure 8 The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system includes at least an application layer, an application framework layer, and a hardware abstract layer (HAL) from top to bottom.

[0064] The application layer can include a series of application packages. Figure 8 As shown, the application package may include Visible and Speakable, AI Subtitles, Free Commands, Air Gestures, Settings, Camera, Gallery, Calls, Maps, Music, Videos and other applications.

[0065] The application framework layer provides application programming interface (API) and programming framework for applications in the application layer. Figure 8 As an example of the present application, the application framework layer may include but is not limited to a multi-mode decision engine, a decision-making middle platform, an application package management service (package manager service, PMS), and a power management module.

[0066] The multimodal decision engine is used to subscribe or unsubscribe from the scene fence of obstacle scenarios (also called obstacle scenarios) related to auxiliary services to the decision-making center, such as a video obstacle scenario in which an electronic device plays a video through a video application and the electronic device remains stationary on a bracket for more than 5 seconds. The multimodal decision engine determines whether it is currently suitable to enter a multimodal interaction state based on the specific scenario identified by the decision-making center, combined with user habits, scene matching rules, etc. The multimodal decision engine is also used to make service decisions, that is, to decide what kind of auxiliary services should be pushed to enable users to interact with electronic devices. The multimodal decision engine is also used to pull up or exit the mode, such as guiding users to enter a multimodal interaction state in a specific way.

[0067] As an example of the present application, the multi-mode decision engine includes at least one auxiliary service agent, where different auxiliary service agents correspond to different auxiliary services, that is, the auxiliary service agent and the auxiliary service are one-to-one corresponding, for example, the "visible and speakable" auxiliary service corresponds to an auxiliary service agent, and the "AI subtitle" auxiliary service corresponds to an auxiliary service agent. The multi-mode decision engine interacts with the corresponding auxiliary service through the auxiliary service agent.

[0068] The decision-making platform is used to receive subscriptions and unsubscriptions of scene fences of the multi-mode decision engine. In the presence of a subscribed scene fence, the fence is registered to interact with the perception module to identify whether the electronic device is in a certain obstacle scene. When the scene fence enters or exits, the decision-making platform notifies the multi-mode decision engine. In addition, the decision-making platform can also be used to monitor system events, such as monitoring application switching and other events.

[0069] The PMS is used to manage application packages of applications in electronic devices. The PMS can sense the installation and uninstallation of applications in electronic devices.

[0070] The power management module can be used to control the on and off of the display screen of the electronic device. For example, when the display screen of the electronic device is powered, the display screen of the electronic device is in a bright state, and when the display screen is not powered, the display screen of the electronic device is in an off state.

[0071] It should be noted that the embodiment of the present application is only described by taking the application framework layer including the above-mentioned multiple modules as an example. In addition, the application framework layer also includes some predefined functions. For example, it includes a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, etc., which are not limited in the embodiment of the present application.

[0072] The hardware abstraction layer is an encapsulation of the Linux kernel driver, providing an interface upward. It hides the hardware interface details of a specific platform and provides a virtual hardware platform for the operating system, making it hardware-independent and portable on multiple platforms. For example, the hardware abstraction layer provides a perception module. The perception module is used to detect electronic devices, users currently using electronic devices, and the environment in which the electronic devices are located, that is, for device perception, user perception, and environmental perception, to provide various state detection fences. Exemplarily, the perception module can be used to detect the motion state of the electronic device, detect which type of transportation the electronic device is on, detect whether the electronic device is in a handheld state or is placed on a bracket, detect the current volume of the electronic device, detect the current geographical location of the electronic device (such as home or company, etc.), and detect the noise level of the current environment in which the electronic device is located.

[0073] It should be noted that Figure 8 Only some layers of the software system are shown exemplarily, and do not limit the architecture of the software system of the electronic device. The software system may also include other layers, which are not limited in the embodiments of the present application.

[0074] Based on the above embodiments, the service push method provided by the embodiments of the present application is introduced below. Fig. 9 , Fig. 9 is a flow chart of a service promotion method according to an exemplary embodiment. As an example but not a limitation, the method can be Figure 8 The electronic device shown in the figure is executed, and the electronic device can be implemented by multiple modules interacting. The method may include part or all of the following contents:

[0075] S901: The multi-mode decision engine monitors the power-on completion broadcast and detects the multi-mode configuration items to determine whether the electronic device has the authority to use auxiliary services.

[0076] In some embodiments, the multimodal decision engine is defined as MmiDecisionService.

[0077] As an example of the present application, the multi-mode decision engine is started after the electronic device is powered on. The multi-mode decision engine can be set in the HnSystemServer service of the Android system. Since the HnSystemServer service is started earlier, the multi-mode decision engine is also started earlier. If the multi-mode decision engine executes the actual business logic after it is started, other dependent businesses (such as the decision-making middle station, etc.) may not have completed initialization, which may easily cause the multi-mode decision engine to be unable to interact normally with other modules, such as being unable to interact with the decision-making middle station. Therefore, in one example, after the multi-mode decision engine is started, it is not necessary to perform actual business logic, but only register a power-on broadcast listener to listen to the power-on completion broadcast. When the power-on completion broadcast is listened to through the power-on broadcast listener, it means that the electronic device has been powered on. In this case, the multi-mode decision engine performs actual business logic, such as detecting multi-mode configuration items to determine whether the electronic device has the authority to use auxiliary services.

[0078] For some electronic devices, these electronic devices can be controlled to have the permission to use one or all auxiliary services, while for other electronic devices, these electronic devices can be controlled not to have the permission to use one or all auxiliary services. To this end, the cloud can send a configuration file to the electronic device to indicate whether the electronic device has the permission to use the auxiliary service, or which auxiliary service it has the permission to use. As an example, the configuration file includes a multi-mode configuration item, and the multi-mode configuration item may include multiple configuration items, such as a total configuration item and at least one sub-configuration item, and the at least one sub-configuration item corresponds to at least one auxiliary service. The total configuration item is used to limit whether the electronic device has the permission to use all auxiliary services, and each sub-configuration item is used to limit whether the electronic device has the permission to use the corresponding auxiliary service.

[0079] As an example of the present application, after monitoring the power-on broadcast, the multi-mode decision engine can determine whether the electronic device has the authority to use each auxiliary service in the electronic device according to the status values ​​of the total configuration item in the multi-mode configuration item and the sub-configuration item corresponding to the auxiliary service. For example, taking auxiliary service SV1 as an example, if the status value of the total configuration item indicates that the electronic device has the authority to use all auxiliary services, and the status value of the sub-configuration item corresponding to auxiliary service SV1 indicates that the electronic device has the authority to use auxiliary service SV1, it is determined that the electronic device has the authority to use auxiliary service SV1. Otherwise, if the status value of the total configuration item indicates that the electronic device does not have the authority to use all auxiliary services, or if the status value of the total configuration item indicates that the electronic device has the authority to use all auxiliary services, but the status value of the sub-configuration item corresponding to auxiliary service SV1 indicates that the electronic device does not have the authority to use auxiliary service SV1, it is determined that the electronic device does not have the authority to use auxiliary service SV1.

[0080] In the case where there are multiple auxiliary services, according to the above detection method, it can be determined whether the electronic device has the authority to use each of the multiple auxiliary services. For any of the multiple auxiliary services, if the electronic device has the authority to use this auxiliary service, the multi-mode decision engine can decide whether to subscribe to the scene fence corresponding to this auxiliary service through the following process. If the electronic device does not have the authority to use this auxiliary service, the multi-mode decision engine does not subscribe to the scene fence corresponding to this auxiliary service.

[0081] It should be noted that step S901 is an optional operation. In another example, this step may not be included. For example, when there is no multi-mode configuration item in the electronic device, the operation of S901 may not be performed.

[0082] S902: When the electronic device has the authority to use auxiliary services, the multi-mode decision engine is initialized.

[0083] As an example of the present application, the initialization operation of the multi-mode decision engine includes registering a screen on / off listener and registering a power saving mode listener, wherein the screen on / off listener is used to monitor the screen on / off broadcast of the electronic device, and the power saving mode listener is used to monitor whether the power saving mode of the electronic device is turned on. Since the multi-mode decision engine may not subscribe to the scene fence of the obstacle scene related to the auxiliary service when the electronic device is in the screen off or power saving mode to avoid consuming the power consumption of the electronic device, in order to facilitate the multi-mode decision engine to subsequently determine whether to perform the subscription operation, the multi-mode decision engine may register the screen on / off listener and the power saving mode listener during the initialization process, so as to facilitate the subsequent monitoring of the screen on / off broadcast and the power saving mode broadcast of the electronic device through the screen on / off listener and the power saving mode listener, and then decide whether to subscribe to the scene fence of the obstacle scene related to the auxiliary service based on the monitoring results.

[0084] In addition, the initialization of the multi-mode decision engine also includes initializing instances of each auxiliary service agent in at least one auxiliary service agent. Since the multi-mode decision engine and each auxiliary service are in their own independent processes, and the multi-mode decision engine and each auxiliary service need to communicate frequently, and the process of each auxiliary service itself is not a resident process, the auxiliary service usually does not have a suitable opportunity to register the corresponding communication callback with the multi-mode decision engine. Therefore, as described above, an auxiliary service agent corresponding to each auxiliary service is set in the multi-mode decision engine, and the multi-mode decision engine interacts with the auxiliary service through the auxiliary service agent. In implementation, the multi-mode decision engine can extract a public interface (such as the IAuxiliaryService interface), and each auxiliary service agent implements each method defined in the IAuxiliaryService interface and communicates with each auxiliary service.

[0085] As an example, the initialization operation of the multi-mode decision engine may also include registering a switch listener, the number of which may be one or more. When there are multiple switch listeners, different switch listeners are used to monitor the status of different switches. As an example of the present application, the multiple switch listeners include a first switch listener, a second switch listener, and a third switch listener, the first switch listener is used to monitor the switch of the basic service, the second switch listener is used to monitor the global switch of the auxiliary service, and the third switch listener is used to monitor the switch of the status bar capsule. Among them, the switch of the basic service is used to control the opening or closing of all services of the electronic device, and all services include auxiliary services. If the switch of the basic service is in the closed state, it can be determined that all services of the electronic device are closed, that is, all services cannot be used; the auxiliary service global switch is used to control the opening or closing of all auxiliary services in the electronic device. If the auxiliary service global switch is in the closed state, it can be determined that all auxiliary services of the electronic device are closed; the switch of the status bar capsule is used to control whether the service can be pushed through the status bar capsule. If the switch of the status bar capsule is in the closed state, the electronic device cannot push the service through the status bar capsule.

[0086] S903: The multi-mode decision engine calls the service query interface of the auxiliary service agent P1 to request whether the auxiliary service SV1 corresponding to P1 is supported.

[0087] The auxiliary service agent P1 is any one of the at least one auxiliary service agent. Exemplarily, the auxiliary service SV1 is a "visible and speakable" auxiliary service, and accordingly, the auxiliary service agent P1 is an auxiliary service agent corresponding to the "visible and speakable" auxiliary service.

[0088] Querying whether auxiliary service SV1 is supported means querying whether auxiliary service SV1 provided by the electronic device can be implemented. That is, before using auxiliary service SV1, the multi-mode decision engine can call the service query interface of auxiliary service agent P1 to query whether the electronic device supports auxiliary service SV1 through auxiliary service agent P1, so as to ensure that auxiliary service SV1 can be pushed and pulled up normally in the future.

[0089] It should be noted that the embodiment of the present application is described by taking an auxiliary service agent in a multi-mode decision engine as an example. In the case where the number of auxiliary service agents in the multi-mode decision engine includes multiple auxiliary service agents, the multi-mode decision engine calls the service query interface of each auxiliary service agent in the multiple auxiliary service agents to query whether the auxiliary service corresponding to each auxiliary service agent is supported through each auxiliary service agent in the multiple auxiliary service agents. For example, taking the "visible and speakable" auxiliary service and the "AI subtitles" auxiliary service provided in the electronic device as an example, the multi-mode decision engine calls the service query interface of the auxiliary service agent corresponding to the "visible and speakable" auxiliary service to query whether the "visible and speakable" auxiliary service provided by the electronic device is supported, and calls the service query interface of the auxiliary service agent corresponding to the "AI subtitles" auxiliary service to query whether the "AI subtitles" auxiliary service provided by the electronic device is supported.

[0090] S904: The auxiliary service agent P1 sends a query instruction to the PMS, and the query instruction carries the application package name of the auxiliary service SV1.

[0091] The implementation of auxiliary service SV1 may generally be related to the hardware conditions and / or software conditions of the electronic device. When querying whether auxiliary service SV1 is supported, auxiliary service agent P1 queries PMS whether the hardware conditions and / or software conditions related to the functional implementation of auxiliary service SV1 meet the preset service support conditions to determine whether auxiliary service SV1 can be implemented. Among them, the preset service support conditions can be set according to requirements. Different auxiliary services may correspond to different preset service support conditions.

[0092] Exemplarily, taking the auxiliary service SV1 as the "visible and speakable" auxiliary service as an example, the implementation of this auxiliary service usually requires querying whether the current visible and speakable application version is the preset version, whether the hardware of the electronic device provides voice equipment, whether the electronic device provides echo cancellation capabilities, etc. Only when the software conditions and / or hardware conditions of the electronic device meet the requirements, it is determined that the auxiliary service SV1 is supported, otherwise it is determined that the auxiliary service SV1 is not supported. Only when the auxiliary service SV1 is supported can the auxiliary service SV1 be used subsequently, otherwise it cannot be used. Therefore, after the multi-mode decision engine is running, the auxiliary service agent P1 queries the PMS whether the corresponding auxiliary service SV1 is supported to determine whether the auxiliary service SV1 provided in the electronic device is usable.

[0093] According to the previous records, PMS is used to manage the application packages of applications in electronic devices, so the auxiliary service agent P1 can pass the application package name of the auxiliary service SV1 to PMS to request PMS to query the hardware conditions and / or software conditions related to the auxiliary service SV1 according to the application package name. For example, taking the auxiliary service agent P1 as the agent of the "Visible and Speakable" auxiliary service SV1, the auxiliary service agent P1 sends a query instruction to PMS, and the query instruction carries the application package name of the "Visible and Speakable" auxiliary service, so that PMS queries the version information corresponding to "Visible and Speakable" according to the application package name, and queries whether the electronic device is equipped with a voice device, and whether echo cancellation capability is provided for the "Visible and Speakable" auxiliary service, etc.

[0094] It should be noted that the hardware and software conditions related to the "visible and speakable" auxiliary service described above are only exemplary. Other hardware and / or software conditions may also be included in the "visible and speakable" auxiliary service, which are not limited in the embodiments of the present application.

[0095] It should be noted that, when the multi-mode decision engine includes multiple auxiliary service agents, each auxiliary service agent sends a query instruction to the PMS to request whether the auxiliary service corresponding to each auxiliary service agent is supported.

[0096] S905: The PMS sends the query result to the auxiliary service agent P1.

[0097] That is, the PMS responds to the query instruction to query the software conditions and / or hardware software related to the auxiliary service P1, and then feeds back the query result to the auxiliary service agent P1.

[0098] In the case where the multi-mode decision engine includes multiple auxiliary service agents, the PMS responds to the query instruction sent by each auxiliary service agent to query the software conditions and / or hardware conditions related to the auxiliary service corresponding to each auxiliary service agent. After the query, the query result is fed back to each auxiliary service agent.

[0099] S906: The auxiliary service agent P1 feeds back the service support result to the multi-mode decision engine.

[0100] After the auxiliary service agent P1 receives the query result fed back by the PMS, it determines whether the auxiliary service SV1 is supported according to the query result and obtains the service support result. For example, if the auxiliary service SV1 is "visible and speakable", if the version information in the query result is the same as the preset version information, the electronic device is equipped with a voice device, and the echo cancellation capability is provided for the "visible and speakable" auxiliary service, then the service support result can be determined to be "T", indicating that the auxiliary service SV1 is supported; otherwise, if the above conditions are not met at the same time, then the service support result can be determined to be "F", indicating that the auxiliary service SV1 is not supported. Afterwards, the auxiliary service agent P1 feeds back the service support result to the multi-mode decision engine. In one example, the auxiliary service agent can feed back the query result to the multi-mode decision engine by way of a callback.

[0101] It should be noted that when the multi-mode decision engine includes multiple auxiliary service agents, each auxiliary service agent determines whether the corresponding auxiliary service is supported after receiving the query results fed back by the PMS, and feeds back the determined service support results to the multi-mode decision engine.

[0102] S907: When the auxiliary service SV1 supports it, the multi-mode decision engine calls the initialization interface of the auxiliary service agent P1.

[0103] When the service support result indicates that the auxiliary service SV1 is supported, the multi-mode decision engine calls the initialization interface of the auxiliary service agent P1 to initialize the auxiliary service SV1 through the auxiliary service agent P1, so that the auxiliary service SV1 transmits the obstacle scenarios that this service is concerned about, as well as some parameters involved in different obstacle scenarios to the multi-mode decision engine through the auxiliary service agent P1. For specific initialization operations, please refer to the following operations S908 to S913.

[0104] It should be noted that the embodiment of the present application is described by taking the service support result indicating that the auxiliary service SV1 is supported as an example. If the service support result indicates that the auxiliary service SV1 is not supported, the subsequent operation is not performed for the auxiliary service SV1.

[0105] In the case where an electronic device includes multiple auxiliary services, for other auxiliary services among the multiple auxiliary services, if other auxiliary services support it, the multi-mode decision engine can initialize other auxiliary services through their respective corresponding auxiliary service agents according to the following process.

[0106] S908: The auxiliary service agent P1 sends an application query instruction to the PMS, where the application query instruction carries a designated identifier.

[0107] The designated identifier can be set according to demand. For any application in the electronic device, if the application package of this application includes the designated identifier, it can be determined that the auxiliary service SV1 supports this application, that is, when the application is in the obstacle scenario concerned by the auxiliary service SV1 during operation, the multi-modal decision engine can pull up the auxiliary service SV1 to provide auxiliary services. Conversely, if the application package of this application does not include the designated identifier, it can be determined that the auxiliary service SV1 does not support this application. For example, if the application package of video application A in the electronic device includes the designated identifier, it can be determined that the auxiliary service SV1 supports video application A. If the application package of video application B in the electronic device does not include the designated identifier, it can be determined that the auxiliary service SV1 does not support video application B, and so on.

[0108] In one example, the designated identifier may be an identifier under the intent-filter parameter, such as action. As an example and not a limitation, the designated identifier of the auxiliary service SV1 may be represented as:

[0109] <intent-filter>

[0110] <action android:name=”com.hihonor.android.mmi.EventControl”>

[0111] As an example of the present application, different auxiliary services may correspond to different designated identifiers. For example, the "visible and speakable" auxiliary service may correspond to designated identifier 1, and the "AI subtitle" auxiliary service may correspond to designated identifier 2, and so on.

[0112] As an example of the present application, if an auxiliary service supports multiple obstacle scenarios, different obstacle scenarios of an auxiliary service correspond to different designated identifiers. For example, if the "visible and speakable" auxiliary service supports obstacle scenario 1 and obstacle scenario 2, obstacle scenario 1 supported by the "visible and speakable" auxiliary service corresponds to designated identifier 1, and obstacle scenario 2 supported by the "visible and speakable" auxiliary service corresponds to designated identifier 2. In this case, when the auxiliary service agent P1 sends an application query instruction to the PMS, the designated identifier 1 and the designated identifier 2 can be carried in the application query instruction respectively.

[0113] S909: In response to the application query instruction, the PMS queries the application package including the specified identifier.

[0114] As mentioned above, if the application package includes a specified identifier, it means that the application corresponding to the application package can be supported by the auxiliary service SV1, so the PMS queries the application package including the specified identifier to determine the application that can be supported by the auxiliary service SV1. In one example, the PMS can traverse the application packages of the applications installed in the electronic device to query which application package includes the specified identifier.

[0115] As an example of the present application, after the PMS determines the application package including the specified identifier, it can generate an application list, which includes application information, and the application package of the application corresponding to the application information includes the specified identifier. That is, the application information corresponding to the queried application package including the specified identifier can be added to the application list, so that the application list can be fed back to the auxiliary service agent P1 after the query is completed.

[0116] The application information is information used to uniquely identify an application program, for example, the application information may be an application identifier, an application package name, and the like.

[0117] S910: The PMS sends an application list to the auxiliary service agent P1, where the application list includes application information of the queried application package.

[0118] It should be noted that the embodiment of the present application is described by taking the example of PMS feeding back application query results to auxiliary service agent P1 in the form of application list. In another example, the application query results can also be fed back to auxiliary service agent P1 in other forms, such as in the form of an array, which is not limited in the embodiment of the present application.

[0119] S911: The auxiliary service agent P1 refreshes the scene trigger information of the obstacle scene that the auxiliary service SV1 is concerned about.

[0120] As an example of the present application, the scene triggering information of the obstacle scene concerned by the auxiliary service SV1 can be pre-stored in the auxiliary service agent P1. The scene triggering information is used to describe the triggering conditions of the obstacle scene. For example, taking the auxiliary service SV1 as the "visible and speakable" auxiliary service as an example, the triggering conditions of the obstacle scene may include: 1. Entering the target video application, the target video application is set according to the needs, such as including video application A, video application B, etc.; 2. The electronic device is on a bracket or in a static state (for example, more than 6s); 3. Not high noise and not in a public place. For another example, taking the auxiliary service SV1 as the "AI subtitle" auxiliary service as an example, the triggering conditions of the obstacle scene may include: 1. Entering the target application, the target application is provided by the business side; 2. The audio playback fence is triggered (that is, there is audio playback); 3. In the same target application, the audio playback fence is only detected once (to prevent switching videos in an application class, and the audio stream is sometimes absent, resulting in frequent entry and exit).

[0121] In one example, the scene trigger information may be a character string, that is, the trigger condition of the obstacle scene may be indicated by a character string.

[0122] When the auxiliary service SV1 is concerned with multiple obstacle scenarios, the auxiliary service agent P1 obtains the scenario trigger information of each obstacle scenario that the auxiliary service SV1 is concerned with. For each obstacle scenario, the auxiliary service agent P1 establishes a mapping relationship between the scenario trigger information of the obstacle scenario and its corresponding application list.

[0123] S912: The auxiliary service agent P1 sends an initialization result to the multi-mode decision engine, where the initialization result includes an application list and scenario triggering information.

[0124] In one example, if the auxiliary service SV1 is concerned about multiple obstacle scenarios, the initialization results fed back by the auxiliary service agent P1 to the multi-mode decision engine include multiple groups of results, each group of results including scenario triggering information and application list for each obstacle scenario.

[0125] S913: The multi-mode decision engine stores the initialization result.

[0126] S914: The multi-mode decision engine sends a capability query instruction to the decision-making center, and the capability query instruction is used to query the scene detection capability of the decision-making center.

[0127] The scene detection capability of the decision-making center refers to the ability to detect obstacle scenes, such as video obstacle scene detection capability, alarm obstacle scene detection capability, etc. The support level may be different on different electronic devices or different versions of the same type of electronic devices. For example, the decision-making center in electronic device A may have video obstacle scene detection capability and alarm obstacle scene detection capability, while the decision-making center in electronic device B may only have video obstacle scene detection capability. Therefore, it is generally necessary for the multi-mode decision engine to actively query the decision-making center for the scene detection capability of the decision-making center. To this end, the multi-mode decision engine can send a capability query instruction to the decision-making center.

[0128] S915: The decision-making center sends the capability query result to the multi-mode decision engine.

[0129] The capability query result includes the scene detection capability that the decision-making center station has. As an example of the present application, the capability query result includes multiple character strings, each of which is used to indicate a scene detection capability that the decision-making center station has.

[0130] S916: The multi-mode decision engine merges the initialization result and the capability query result.

[0131] After receiving the capability query results fed back by the decision-making center, the multi-mode decision engine can determine whether the decision-making center has the ability to detect the obstacle scene indicated by the scene trigger information in the initialization result based on the capability query results. If the decision-making center has the ability to detect the obstacle scene indicated by the scene trigger information in the initialization result, the initialization result is retained, and the multi-mode decision engine can establish a mapping relationship between the auxiliary service SV1 and the application list and scene trigger information in the initialization result, and can subsequently subscribe to the scene fence of the auxiliary service SV1. If the decision-making center does not have the ability to detect the obstacle scene indicated by the scene trigger information in the initialization result, the initialization result can be deleted, and the scene fence of the auxiliary service SV1 will not be subscribed to subsequently.

[0132] When multiple auxiliary services are provided in an electronic device, the multi-mode decision engine can filter and save the initialization results corresponding to each auxiliary service according to the above method based on the capability query results fed back by the decision-making center. The initialization results of the remaining auxiliary services that have not been deleted can be used for scene fence subscription, and the specific implementation is shown below.

[0133] S917: The multi-mode decision engine determines whether the scene subscription conditions are currently met.

[0134] As an example of this application, see Fig.10 The specific implementation of the multi-mode decision engine to determine whether the current scenario subscription conditions are met may include the following steps:

[0135] A1. The multi-mode decision engine queries whether the switch of the basic service is turned on.

[0136] As mentioned above, the switch of the basic service is used to turn on or off all services provided by the electronic device, and all services include other services in addition to auxiliary services.

[0137] As an example of the present application, the electronic device provides the switch of the basic service through the setting application. As mentioned above, the multi-mode decision engine registers the first switch listener during initialization. When the user turns on the switch of the basic service in the setting application, the setting application can broadcast the basic service opening broadcast, and the multi-mode decision engine can listen to the basic service opening broadcast through the first switch listener, and then determine that the switch of the basic service is in the on state. When the user turns off the switch of the basic service in the setting application, the setting application can broadcast the basic service closing broadcast, and the multi-mode decision engine can listen to the basic service closing broadcast through the first switch listener, and then determine that the switch of the basic service is in the off state. After listening to the basic service opening broadcast or the basic service closing broadcast, the multi-mode decision engine can record the switch state of the basic service of the electronic device, so that when a query is needed, it can determine whether the switch of the basic service is in the on state based on the recorded information.

[0138] As another example of the present application, when the multi-mode decision engine needs to query the status of the switch of the basic service, it can query from the setting application, for example, it can send a basic service status query instruction to the setting application. In response to the basic service status query instruction, the setting application queries whether the switch of the basic service is turned on, and feeds back the query result to the multi-mode decision engine.

[0139] If the basic service is enabled, it means that all services provided by the electronic device are available, in which case the operation of A2 is entered. Otherwise, if the basic service is not enabled, it means that all services in the electronic device are unavailable, in which case the multi-mode decision engine determines that the scenario subscription condition is not met, that is, the operation of A8 is entered.

[0140] A2. The multi-mode decision engine determines whether the electronic device is currently in the screen-on state.

[0141] As an example of the present application, the multi-mode decision engine registers a screen on / off listener during initialization. When the power management module controls the screen to turn on, it can broadcast a screen on broadcast. Accordingly, the multi-mode decision engine can listen to the screen on broadcast through the screen on / off listener, so as to determine that the electronic device is in the screen on state; when the power management module controls the screen to turn off, it can broadcast a screen off broadcast. Accordingly, the multi-mode decision engine can listen to the screen off broadcast through the screen on / off listener, so as to determine that the electronic device is in the screen off state. After listening to the screen off broadcast or the screen on broadcast, the multi-mode decision engine can record the screen on / off state of the electronic device. In this way, when a query is required, it can be determined whether the electronic device is in the screen on state based on the recorded screen on / off state.

[0142] As another example of the present application, when the multi-mode decision engine needs to determine whether the electronic device is in a screen-on state, it can send a screen status query instruction to the power management module. After receiving the screen status query instruction, the power management module determines whether the display screen is currently powered. If the display screen is being powered, it is determined that the display screen is in a screen-on state. Otherwise, if the power management module is not currently powering the display screen, it is determined that the display screen is in a screen-off state. After determining the screen-on or screen-off state of the display screen, the power management module feeds back the screen-on or screen-off state to the multi-mode decision engine, so that the multi-mode decision engine determines whether the electronic device is currently in a screen-on state.

[0143] If the electronic device is currently in a screen-on state, it means that the user is currently using the electronic device. In this case, the following A3 operation is performed. Otherwise, if the electronic device is currently not in a screen-on state, it means that the user is not currently using the electronic device. In this case, the multi-mode decision engine determines that the scene subscription conditions are not met, that is, the following A8 operation is performed.

[0144] A3. The multi-mode decision engine queries whether the power saving mode of the electronic device is turned on.

[0145] As an example of the present application, the multi-mode decision engine registers a power saving mode listener during initialization, and the setting application of the electronic device provides a power saving mode switch. When the user turns on the power saving mode switch in the setting application, the setting application can broadcast the power saving mode on broadcast, and accordingly, the multi-mode decision engine can listen to the power saving mode on broadcast through the power saving mode listener, so as to determine that the power saving mode of the electronic device is turned on; when the user turns off the power saving mode switch in the setting application, the setting application can broadcast the power saving mode off broadcast, and accordingly, the multi-mode decision engine can listen to the power saving mode off broadcast through the power saving mode listener, so as to determine that the power saving mode of the electronic device is turned off. After listening to the power saving mode on broadcast or the power saving mode off broadcast, the multi-mode decision engine can record this state, so that when a query is needed, it can be determined whether the power saving mode of the electronic device is in the on state according to the recorded state.

[0146] As another example of the present application, the setting application of the electronic device is provided with a switch for the power saving mode. When it is necessary to query whether the power saving mode of the electronic device is turned on, the multi-mode decision engine can send a power saving mode query instruction to the setting application. After receiving the power saving mode query instruction, the setting application queries the state of the power saving mode switch. If the power saving mode switch is in the on state, it is determined that the power saving mode is turned on. If the power saving mode switch is in the off state, it is determined that the power saving mode is turned off. After determining whether the power saving mode is turned on, the setting application feeds back the query result of the power saving mode to the multi-mode decision engine, so that the multi-mode decision engine can determine whether the power saving mode of the electronic device is in the on state.

[0147] Since a certain amount of power is consumed when performing scene detection after subscribing to the scene fence, if the power saving mode is not turned on, enter the following A4 operation; otherwise, if the power saving mode is turned on, the multi-mode decision engine can determine that the scene subscription conditions are not met, that is, enter the following A8 operation.

[0148] A4. The multi-mode decision engine determines whether it is a capsule push mode.

[0149] The capsule push method refers to pushing auxiliary services through status bar capsules, such as Figure 2 As shown in 03 in Figure (c).

[0150] As an example of the present application, the multi-mode decision engine can determine whether it is a capsule push mode according to the type of auxiliary service. For example, some types of auxiliary services may be preset to a capsule push mode, such as the "visible and talkable" auxiliary service, while some types of auxiliary services may not be set to a capsule push mode. Therefore, it can be determined whether it is a capsule push mode according to the type of auxiliary service.

[0151] If it is determined that the method is capsule push, the operation of the following A5 is entered; otherwise, if it is not capsule push, the multi-mode decision engine can determine that the scene subscription condition is not met, that is, the operation of the following A8 is entered.

[0152] A5. The multi-mode decision engine queries whether the switch of the status bar capsule is turned on.

[0153] As an example of the present application, the multi-mode decision engine registers a third switch listener during initialization, and the setting application in the electronic device provides the switch of the status bar capsule. When the user triggers the switch of the status bar capsule to the on state in the setting application, the setting application can broadcast the capsule switch on broadcast, and accordingly, the multi-mode decision engine can listen to the capsule switch on broadcast through the third switch listener, so as to determine that the switch of the status bar capsule is on; when the user triggers the switch of the status bar capsule to the off state in the setting application, the setting application can broadcast the capsule switch off broadcast, and accordingly, the multi-mode decision engine can listen to the capsule switch off broadcast through the third switch listener, so as to determine that the switch of the status bar capsule is off. After listening to the capsule switch on broadcast or the capsule switch off broadcast, the multi-mode decision engine can record this state, so that when a query is needed, it can be determined whether the switch of the status bar capsule is on according to the recorded state.

[0154] As another example of the present application, a setting application in an electronic device provides a switch for a status bar capsule. When the multi-mode decision engine needs to query whether the switch of the status bar capsule is turned on, a capsule switch query instruction can be sent to the setting application. After receiving the capsule switch query instruction, the setting application queries whether the switch of the status bar capsule is in the turned-on state, and then feeds back the query result to the multi-mode decision engine, so that the multi-mode decision engine determines whether the switch of the status bar capsule is turned on.

[0155] If the switch of the status bar capsule is in the on state, it means that the auxiliary service can be pushed through the status bar capsule. In this case, proceed to the following A6 operation; otherwise, if the switch of the status bar capsule is in the off state, it means that the auxiliary service cannot be pushed through the status bar capsule. In this case, the multi-mode decision engine determines that the scene subscription conditions are not met, that is, proceed to the following A8 operation.

[0156] It should be noted that the embodiment of the present application is explained by taking the auxiliary service pushed through the status bar capsule as an example. In another example, the auxiliary service can also be pushed through other methods, such as the auxiliary service can also be pushed through notification messages. As an example and not a limitation, if the multi-mode decision engine determines that the auxiliary service SV1 is not a capsule push method, it can query whether there are other push methods. If there are other push methods, enter the following A6 operation. Otherwise, if there are no other push methods, the multi-mode decision engine can determine that the scene subscription conditions are not met, that is, enter the following A8 operation.

[0157] A6. The multi-mode decision engine queries whether the auxiliary service global switch is turned on.

[0158] As mentioned above, the auxiliary service global switch is used to control the turning on or off of all auxiliary services provided in the electronic device.

[0159] As an example of the present application, the multi-mode decision engine registers a second switch listener during initialization, and the settings application in the electronic device provides a global switch for the auxiliary service. When the user triggers the auxiliary service global switch to the on state in the settings application, the settings application can broadcast the global switch on broadcast, and accordingly, the multi-mode decision engine can listen to the global switch on broadcast through the second switch listener, so that it can be determined that the auxiliary service is globally turned on; when the user triggers the auxiliary service global switch to the off state in the settings application, the settings application can broadcast the global switch off broadcast, and accordingly, the multi-mode decision engine can listen to the global switch off broadcast through the second switch listener, so that it can be determined that the auxiliary service global switch is turned off. After listening to the global switch on broadcast or the global switch off broadcast, the multi-mode decision engine can record this state, so that when a query is needed, it can be determined whether the auxiliary service global switch is turned on according to the recorded state.

[0160] As another example of the present application, the electronic device provides an auxiliary service global switch through a setting application. When the multi-mode decision engine needs to query whether the auxiliary service global switch is turned on, it can query the setting application for a global switch query instruction. After receiving the global switch query instruction, the setting application queries the state of the auxiliary service global switch, and then feeds back the query result to the multi-mode decision engine, so that the multi-mode decision engine determines whether the auxiliary service global switch is turned on.

[0161] If the auxiliary service global switch is in the on state, enter the following A7 operation; otherwise, if the auxiliary service global switch is in the off state, it means that the auxiliary service provided in the electronic device cannot be used. In this case, the multi-mode decision engine determines that the scene subscription conditions are not met at present, that is, enter the following A8 operation.

[0162] A7. Determine whether the current scene subscription conditions are met.

[0163] If the auxiliary service global switch is in the on state, it means that the auxiliary services provided in the electronic device can be used. In this case, the multi-mode decision engine determines that the scene subscription conditions are currently met.

[0164] A8. Determine that the scene subscription conditions are not currently met.

[0165] It should be noted that the above-mentioned implementation method of determining whether the scene subscription condition is met is only exemplary. In another example, the determination process may also include other methods, such as other methods may include some or more operations in the above-mentioned implementation process, such as when the query auxiliary service global switch is in the on state, it is also possible to continue to query whether the local switch of the auxiliary service SV1 is in the on state. Or the order of determination may also be different from the above-mentioned determination order. The embodiments of the present application are not limited to this.

[0166] S918: When the scene subscription conditions are met, the multi-mode decision engine subscribes to the scene fence to the decision center.

[0167] As an example of the present application, the scene fence may include at least one set of correspondences, and each set of correspondences may include a mapping relationship between scene trigger information corresponding to an auxiliary service and an application list.

[0168] In one example, if an auxiliary service involves multiple obstacle scenarios, and the decision-making platform has the scene detection capability for each obstacle scenario, the multi-mode decision engine subscribes to the scene fence of each obstacle scenario from the decision-making platform. For example, if auxiliary service SV1 involves video obstacle scenarios and alarm obstacle scenarios, and the decision-making platform has the scene detection capability for each of these two obstacle scenarios, the multi-mode decision engine subscribes to the scene fence of the video obstacle scenario from the decision-making platform, and subscribes to the scene fence of the alarm obstacle scenario from the decision-making platform. The scene fence of the video obstacle scenario includes the scene trigger information and the related application list of the video obstacle scenario, and the scene fence of the alarm obstacle scenario includes the scene trigger information and the related application list of the alarm obstacle scenario.

[0169] If there are multiple auxiliary services, the multi-mode decision engine subscribes to the scene fence corresponding to each auxiliary service to the decision center.

[0170] After the multi-mode decision engine subscribes to the scene fence from the decision center, if the decision center detects that the subscribed scene fence is triggered, it notifies the multi-mode decision engine so that the multi-mode decision engine decides whether to push the auxiliary service. In an example, its specific implementation can refer to the following steps:

[0171] S919: The decision-making center registers the perception fence with the perception module based on the scene trigger information in the scene fence.

[0172] The number of perception fences registered by the perception module may be one or more.

[0173] The decision-making center can determine which scenes need to be processed based on the scene trigger information in the scene fence, and then register the perception fence with the perception module. For example, assuming that the scene trigger information indicates that it is necessary to detect whether the electronic device is on a stand or in a stationary state, and whether the electronic device is in a non-high-noise and non-public place, in this case, the decision-making center registers the device perception fence and the environment perception fence with the perception module, so that the perception module notifies the decision-making center when it senses that the electronic device is on a stand or in a stationary state, and notifies the decision-making center when it detects that the electronic device is in a non-high-noise and non-public place.

[0174] In the case where there are multiple scene fences of auxiliary services, the decision-making center registers the perception fences with the perception module according to the scene trigger information in the scene fence of each auxiliary service.

[0175] S920: When the perception module determines that it has entered the perception fence registered by the decision-making center, it notifies the decision-making center.

[0176] The perception module can sense through sensors configured in the electronic device, such as sensors including but not limited to gyroscope sensors, acceleration sensors, etc. When the perception module senses that the electronic device enters the perception fence registered by the decision-making center, the decision-making center is notified which perception fence is triggered.

[0177] S921: When the decision-making center determines that it has entered the scene fence, it sends a trigger message to the multi-mode decision engine.

[0178] As an example of the present application, when the perception module notifies the decision module that the perception fence is triggered, the decision center can determine whether the scene in which the electronic device is located is an obstacle scene indicated by the scene trigger information in the scene fence based on the perception fence currently entered. If the scene in which the electronic device is currently located is an obstacle scene indicated by the scene trigger information in the scene fence, the decision center determines whether the application currently in focus in the electronic device (that is, the application running in the foreground) is in the application list in the scene fence. If the application currently in focus in the electronic device is in the application list in the scene fence, the decision center determines that the scene fence is currently entered. In this case, the decision center sends a trigger message to the multi-mode decision engine to notify the multi-mode decision engine that the subscribed scene fence has been triggered.

[0179] As an example of the present application, the trigger message may carry scene trigger information, application information of the application running in the foreground, and scene status. The scene trigger information in the trigger message may be used to indicate which obstacle scene is triggered, the application information in the trigger message is used to indicate which application the currently triggered obstacle scene is related to, and the scene status in the trigger message is used to indicate whether the application is running in the foreground.

[0180] S922: The multi-mode decision engine decides whether to push the auxiliary service based on the trigger message.

[0181] In one example, the multi-mode decision engine queries the retained data for a matching auxiliary service based on the application information and the scene trigger information. If a matching auxiliary service exists and the scene status indicates that the application is running in the foreground, the auxiliary service is pushed; otherwise, if there is no matching auxiliary service or the scene status indicates that the application is exiting the foreground, the auxiliary service is not pushed.

[0182] S923: When the multi-mode decision engine determines to push the auxiliary service, it displays the push window and launches the auxiliary service.

[0183] For example, see Figure 2 In Figure (b), when the multi-modal decision engine determines to push the auxiliary service, it displays the push window 02 and pulls up the "visible and speakable" auxiliary service, so that the user can control the playing video through voice.

[0184] It should be noted that the embodiment of the present application is to directly launch the auxiliary service when the auxiliary service is determined to be pushed. In another example, when the auxiliary service is determined to be pushed, the push window can be displayed first, and when the user triggers a confirmation operation based on the push window, the multi-mode decision engine will launch the auxiliary service. For details, please refer to Figure 6 application scenarios.

[0185] It should also be noted that the embodiment of the present application is described by taking the scenario subscription condition as an example. In another example, if the scenario subscription condition is not met, the multi-mode decision engine does not subscribe to the scenario fence to the decision center.

[0186] In an embodiment of the present application, parameter information of each auxiliary service supported by the electronic device is obtained, and the parameter includes an application list and scene trigger information, and the application list includes application information of installed applications supported by the auxiliary service. The scene detection capability supported by the electronic device is queried, and then the target scene fence is subscribed based on the parameter information of each auxiliary service and the scene detection capability supported by the electronic device. The target scene fence includes at least one scene fence of the auxiliary service, so that the electronic device pushes the corresponding auxiliary service when it detects that the auxiliary service trigger condition is met according to the target scene fence. In this way, the auxiliary service that the electronic device is ultimately allowed to provide is determined by merging the parameter information of the auxiliary service and the scene detection capability supported by the electronic device, and the corresponding scene fence is subscribed based on the auxiliary service that is determined to be allowed to be provided, so as to accurately push the auxiliary service to the user when it is detected that the scene fence is triggered.

[0187] During the use of electronic devices, the parameter information of auxiliary services may change, such as the application list. In order to accurately push auxiliary services, the application list corresponding to the auxiliary service and the scene fence can also be refreshed according to the update detection logic. For details, see Fig.11 , Fig.11 is a flow chart of a method for refreshing a scene fence according to an exemplary embodiment. The method can be performed by Figure 8 The electronic device shown is executed, and the electronic device is implemented by multiple modules interacting with each other. The method may include part or all of the following contents:

[0188] S1101: After the auxiliary service agent P1 is initialized, the auxiliary service agent P1 registers the application listener.

[0189] The application listener is used to monitor application uninstallation broadcasts and application installation broadcasts. That is, after the auxiliary service agent P1 is initialized, the application listener is registered to monitor whether an application change event occurs in the electronic device, such as whether an application uninstallation event or an application installation event occurs.

[0190] It should be noted that the embodiment of the present application is described using the auxiliary service agent P1 as an example. When a multi-mode decision engine includes multiple auxiliary service agents, each of the multiple auxiliary service agents can perform the same or similar operations.

[0191] S1102: When the auxiliary service agent P1 monitors an application change event through the application listener, it sends an application refresh instruction to the PMS, where the application refresh instruction carries a specified identifier.

[0192] In one case, an application change event occurs when a user installs a new application in an electronic device, and in another case, an application change event occurs when a user uninstalls an application that has been installed in an electronic device. When an application change event occurs, the auxiliary service agent P1 can monitor this event through an application listener. Since the changed application may be related to the auxiliary service SV1, in order to further determine, the auxiliary service agent P1 sends an application refresh instruction to the PMS, and carries a specified identifier in the application refresh instruction.

[0193] S1103: The PMS determines whether the auxiliary service SV1 supports the changed application according to the specified identifier.

[0194] As mentioned above, if the application package of an application includes a specified identifier, it means that the auxiliary service SV1 supports the application. If the application package of the application does not include the specified identifier, it means that the auxiliary service SV1 does not support the application. Therefore, the PMS can detect whether the application package of the changed application includes the specified identifier, thereby determining whether the changed application is related to the auxiliary service SV1, that is, determining whether the auxiliary service SV1 supports the changed application.

[0195] S1104: When the auxiliary service SV1 supports the changed application program, the PMS sends an updated application list to the auxiliary service agent P1.

[0196] For example, if the application change event is to uninstall an application, the PMS deletes the application information of the changed application in the application list corresponding to the specified identifier to obtain an updated application list. If the application change event is to install an application, the PMS adds the application information of the changed application to the application list corresponding to the specified identifier to obtain an updated application list. Afterwards, the PMS sends the updated application list to the auxiliary service agent P1.

[0197] S1105: The auxiliary service agent P1 sends the updated application list to the multi-mode decision engine.

[0198] S1106: The multi-mode decision engine refreshes the application list corresponding to the auxiliary service SV1.

[0199] That is, the multi-mode decision engine refreshes the saved application list corresponding to the auxiliary service SV1 to the updated application list.

[0200] S1107: The multi-mode decision engine queries whether the scene fence of auxiliary service SV1 is currently subscribed.

[0201] The multi-mode decision engine self-checks whether it is currently subscribed to the scene fence of auxiliary service SV1. As an example of the present application, when the multi-mode decision engine subscribes to the scene fence of auxiliary service SV1, it can record this subscription event, so that the multi-mode decision engine can self-check whether it is subscribed to the scene fence of auxiliary service SV1 by querying whether this record exists.

[0202] S1108: In the case of the scene fence of the currently subscribed auxiliary service SV1, the multi-mode decision engine sends a screen status query instruction to the power management module.

[0203] The screen status query instruction is used to query the screen status of the electronic device, and the screen status includes the screen on status or the screen off status.

[0204] S1109: In response to the screen status query instruction, the power management module sends the screen on / off status to the multi-mode engine module.

[0205] It should be noted that the embodiment of the present application is to send a screen status query instruction to the power management module by the multi-mode decision engine, and to query the screen status as an example for explanation. In another example, the multi-mode decision engine can also monitor the screen status through the screen on / off monitor.

[0206] S1110: The multi-mode decision engine sends a power saving mode query instruction to the setting application.

[0207] The power saving mode query instruction is used to query whether the electronic device is currently in power saving mode.

[0208] S1111: The setting application sends the query result of the power saving mode to the multi-mode decision engine.

[0209] It should be noted that the embodiment of the present application is to use the multi-mode decision engine to send a power saving mode query instruction to the setting application to query whether the power saving mode is turned on as an example. In another example, the multi-mode decision engine can also monitor whether the power saving mode is turned on through the power saving mode listener.

[0210] It should be noted that there is no strict order of execution between the operation of the multi-mode decision engine to query the screen on / off state and the operation to detect the power saving mode state. In one example, these two operations can be executed in parallel. Moreover, the above two operations are optional.

[0211] S1112: When the electronic device is in the screen-on state and the power saving mode is not turned on, the multi-mode decision engine updates the corresponding scene fence according to the updated application list.

[0212] As an example of the present application, if the electronic device is in the screen-on state and the power saving mode is not turned on, it is determined that the scene subscription condition is met. In this case, the multi-mode decision engine replaces the application list of the scene fence of the auxiliary service SV1 with the updated application list to obtain an updated scene fence.

[0213] S1113: The multi-mode decision engine sends a subscription update instruction to the decision center, and the subscription update instruction carries the updated scene fence.

[0214] S1114: In response to the subscription update instruction, the decision-making center updates the fence according to the updated scene fence.

[0215] In this way, when an application change event occurs and the updated application is related to auxiliary service SV1, the multi-modal decision engine refreshes the application list corresponding to auxiliary service SV1 according to the update detection logic, and refreshes the scene fence of auxiliary service SV1 according to the updated application list, so that the auxiliary service SV1 can be accurately pushed to the user when the scene fence is triggered.

[0216] It should be noted that the above is explained using the example of the multi-mode decision engine determining through self-inspection that the scene fence of the auxiliary service SV1 is currently subscribed. In another possible situation, if the multi-mode decision engine determines through self-inspection that the scene fence of the auxiliary service SV1 is not currently subscribed, the scene fence of the auxiliary service SV1 may not be refreshed.

[0217] It should be noted that the embodiment of the present application is described by taking the application supported by the auxiliary service SV1 as an example. In another case, if the auxiliary service SV1 does not support the changed application, it means that there is no need to update the application list. In this case, the PMS can send a no-change notification to the auxiliary service agent P1 so that the auxiliary service agent P1 is informed that the application change event is not related to the auxiliary service SV1. In this case, the scene fence may not be refreshed.

[0218] It should be noted that the embodiment of the present application is explained by the need to refresh the scene fence when the application changes. In one example, changes in the status of some switches in the electronic device will also affect the refresh of the scene fence. For example, in some scenarios, it may no longer be necessary to detect a certain obstacle scene. At this time, the multi-mode decision engine also needs to cancel the subscription to the decision-making center. As an example of the present application, events that require updating the subscription status may include but are not limited to the following: 1. Turning the switch of the basic service on or off. 2. Receiving a screen light-on and screen-off broadcast. 3. Turning the power saving mode of the electronic device on or off. 4. Changes in the parameter information of the auxiliary service, such as an application change event. 5. Turning the switch of the status bar capsule on or off. 6. Turning the global switch of the auxiliary service on or off.

[0219] Exemplarily, the multi-mode decision engine registers the first switch listener, the second switch listener, and the third switch listener during initialization. If the multi-mode decision engine detects that the corresponding switch is in the off state through at least one of the multiple switch listeners, the multi-mode decision engine cancels the subscription of the relevant scene fence to the decision center, thereby saving system resources. When it detects that the switch is switched to the on state, the multi-mode decision engine can re-subscribe to the canceled scene fence to the decision center. For example, when the switch of the basic service is detected to be turned off through the first switch listener, the multi-mode decision engine instructs the decision center to cancel all subscribed scene fences. Accordingly, the decision center can delete all subscribed scene fences and cancel the perception fences registered in the perception module, that is, no longer perform operations such as scene detection, thereby saving the operating power consumption of the electronic device.

[0220] In the embodiment of the present application, when an event related to a subscribed auxiliary service occurs, the electronic device refreshes the subscribed scene fence or cancels the subscription to the scene fence, so that the auxiliary service can be pushed accurately. And when the auxiliary service does not need to be pushed, the subscription to the scene fence is canceled, so that the electronic device no longer performs scene detection, thereby reducing the operating power consumption of the electronic device.

[0221] Fig.12 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig.12 The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0222] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0223] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0224] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0225] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0226] In some embodiments, the processor 110 may include one or more interfaces, such as an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0227] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0228] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193 and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0229] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0230] The electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.

[0231] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel.

[0232] The electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0233] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.

[0234] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created by the electronic device 100 during use (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0235] The electronic device 100 can implement audio functions, such as music playback, recording, etc., through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D and the application processor.

[0236] The gyro sensor 180B can be used to determine the motion posture of the electronic device 100. In some embodiments, the angular velocity of the electronic device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyro sensor 180B. The gyro sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyro sensor 180B detects the angle of the electronic device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device 100 through reverse movement to achieve anti-shake. The gyro sensor 180B can also be used for navigation and somatosensory game scenes.

[0237] The acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in various directions (generally three axes). When the electronic device 100 is stationary, the magnitude and direction of gravity can be detected. The acceleration sensor 180E can also be used to identify the posture of the electronic device 100, and is applied to applications such as horizontal and vertical screen switching, pedometers, etc.

[0238] The key 190 includes a power key, a volume key, etc. The key 190 may be a mechanical key or a touch key. The electronic device 100 may receive key inputs and generate key signal inputs related to user settings and function control of the electronic device 100.

[0239] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (such as: coaxial cable, optical fiber, data subscriber line (Digital Subscriber Line, DSL)) or wireless (such as: infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a digital versatile disc (DVD)), or a semiconductor medium (such as a solid state disk (SSD)).

[0240] The above are optional embodiments provided for the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the technical scope disclosed in the present application shall be included in the protection scope of the present application.

Claims

1. A method for pushing a service, characterized in that: Applied to electronic equipment, the method comprises: Acquire parameter information of each auxiliary service supported by the electronic device, wherein the parameter information of an auxiliary service includes an application list and scenario trigger information, wherein the application list includes application information of application programs supported by the auxiliary service and installed by the electronic device; Querying the scene detection capability supported by the electronic device; According to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, a target scene fence is subscribed to enable the electronic device to push the corresponding auxiliary service when it is detected that the auxiliary service triggering condition is met according to the target scene fence.

2. The method according to claim 1, characterized in that The acquiring parameter information of each auxiliary service supported by the electronic device includes: For any one of the auxiliary services, querying an application package including a specified identifier from application packages of all application programs installed on the electronic device, wherein the any one of the auxiliary services supports an application corresponding to the application package including the specified identifier; Adding application information corresponding to each application package in all the queried application packages to the application list corresponding to any one auxiliary service; Obtaining scene trigger information of any one of the auxiliary services, where different scene trigger information corresponds to different designated identifiers; The added application list and the scene triggering information of any one of the auxiliary services are used to obtain parameter information of any one of the auxiliary services.

3. The method according to claim 2, characterized in that For any one of the auxiliary services, before searching for an application package including a specified identifier from application packages of all application programs installed on the electronic device, the method further includes: For any one of the auxiliary services, query whether hardware conditions and / or software conditions related to the function implementation of the any one of the auxiliary services meet preset service support conditions; The step of searching for an application package including a specified identifier from application packages of all application programs installed on the electronic device includes: In the case where the hardware conditions and / or software conditions related to the functional implementation of any one of the auxiliary services meet the preset service support conditions, the operation of searching for an application package including a specified identifier from application packages of all application programs installed on the electronic device is performed.

4. The method according to any one of claims 1 to 3, characterized in that The subscribing to a target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device includes: For any one of the auxiliary services, determining whether the scene detection capability of the electronic device includes the scene detection capability indicated by the scene trigger information in the parameter information of the any one of the auxiliary services; In a case where the scene detection capability of the electronic device includes the scene detection capability indicated by the scene trigger information in the parameter information of any one of the auxiliary services, subscribe to the scene fence of any one of the auxiliary services.

5. The method according to claim 4, characterized in that The scene fence of any one of the auxiliary services includes a mapping relationship between the scene triggering information of any one of the auxiliary services and the application list.

6. The method according to any one of claims 1 to 5, characterized in that Before subscribing to the target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, the method further includes: Detecting the screen on / off state and power saving mode state of the electronic device; The subscribing to a target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device includes: When the electronic device is in a screen-on state and a power saving mode of the electronic device is in an off state, the operation of subscribing to a target scene fence is performed according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device.

7. The method according to any one of claims 1 to 6, characterized in that After subscribing to the target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, the method further includes: If the electronic device enters a screen-off state or the power saving mode of the electronic device enters an on state, the subscription to the target scene fence is canceled.

8. The method according to any one of claims 1 to 7, characterized in that After subscribing to the target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, the method further includes: If an application change event occurs in the electronic device, query whether there is a target auxiliary service among the auxiliary services, the target auxiliary service is an auxiliary service that supports the changed target application, and the application change event is an event of installing or uninstalling an application; If the target auxiliary service exists among the auxiliary services and the scene fence corresponding to the target auxiliary service has been subscribed, the scene fence corresponding to the target auxiliary service is updated so that the application information of the target application is removed or added in the updated scene fence.

9. The method according to any one of claims 1 to 8, characterized in that The electronic device includes a multi-mode decision engine, a decision center and an application package management service, and the multi-mode decision engine includes an auxiliary service agent corresponding to each auxiliary service; The acquiring parameter information of each auxiliary service supported by the electronic device includes: The multi-mode decision engine obtains parameter information of each auxiliary service from the application package management service through each auxiliary service agent respectively; The querying of the scene detection capability supported by the electronic device includes: The multi-mode decision engine queries the scene detection capability supported by the electronic device from the decision center; The subscribing to a target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device includes: The multi-mode decision engine subscribes to the target scene fence to the decision center according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device.

10. The method according to any one of claims 1 to 9, characterized in that The target scene fence includes at least one scene fence, and different scene fences correspond to different auxiliary services; After subscribing to the target scene fence according to the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, the method further includes: In response to the scene in which the electronic device is located being an obstacle scene indicated by scene trigger information in a first scene fence, querying whether an application list in the first scene fence includes an application running in the foreground, the first scene fence being a scene fence in the target scene fence; If the application list in the first scene fence includes an application running in the foreground, the auxiliary service corresponding to the first scene fence is pushed.

11. An electronic device, characterized in that: The electronic device comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the method according to any one of claims 1 to 10 when executing the computer program.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the method according to any one of claims 1 to 10.

Citation Information

Cited By

  • Service pushing method, electronic device, and readable storage medium

    EP4745769A1

  • Service pushing method, electronic device, and readable storage medium

    WO2025092033A1