Service pushing method, electronic device, and readable storage medium

By obtaining and querying the parameter information and scene detection capabilities of auxiliary services and subscribing to the scene fence, the problem of how to accurately push auxiliary services in multi-modal human-computer interaction scenarios is solved, and the timely push of auxiliary services in different scenarios is realized, improving the user experience.

WO2025092033A1PCT designated stage expired Publication Date: 2025-05-08HONOR DEVICE CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/106288
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-30
Filing Date
2024-07-19
Publication Date
2025-05-08

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, ensure that auxiliary services can be pushed in time under trigger conditions.

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 conditions is detected, the electronic device can accurately push the corresponding auxiliary service.

Benefits of technology

The ability to accurately push auxiliary services in different scenarios is realized, ensuring that users can easily operate electronic devices in obstacle scenarios, and improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024106288_08052025_PF_FP_ABST
    Figure CN2024106288_08052025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of terminals, and discloses a service pushing method, an electronic device, and a readable storage medium. The method comprises: acquiring parameter information of auxiliary services supported by an electronic device, wherein the parameter information of one auxiliary service comprises an application list and scenario trigger information, and the application list comprises application information of an application program that is supported by the auxiliary service and has been installed on the electronic device; querying scenario detection capabilities supported by the electronic device; and subscribing to a target scenario fence on the basis of the parameter information of the auxiliary services and the scenario detection capabilities supported by the electronic device. In this way, the parameter information of the auxiliary services and the scenario detection capabilities supported by the electronic device are merged to determine an auxiliary service ultimately allowed to be provided by the electronic device, and on the basis of the determined auxiliary service allowed to be provided, a corresponding scenario fence is subscribed to, so as to accurately push the auxiliary service to the user when the scenario fence is detected to be triggered.
Need to check novelty before this filing date? Find Prior Art

Description

Service push method, electronic device and readable storage medium

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on October 30, 2023, with application number 202311428073.6 and application name “Method, electronic device and readable storage medium for service push”, the entire contents of which are incorporated by reference into this application. Technical Field

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

[0003] Multimodal human-computer interaction (HCI) refers to the interaction between users and electronic devices through multiple channels, including voice, body language, information carriers (text, images, audio, video), and the environment, fully simulating the interaction between users. Multimodal HCI scenarios typically involve multiple applications and various auxiliary services. The ability to accurately deliver auxiliary services to users in different electronic device scenarios has become a hot topic of research.

[0004] Summary of the Invention

[0005] This application provides a service push method, electronic device, and readable storage medium that can solve the problem of accurately pushing auxiliary services to users. The technical solution is as follows:

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

[0007] Obtain parameter information for each auxiliary service supported by the electronic device. The parameter information for an auxiliary service includes an application list and scenario trigger information. The application list includes application information for applications supported by the auxiliary service and installed on the electronic device. Query the scene detection capabilities supported by the electronic device. Based on the parameter information for each auxiliary service and the scene detection capabilities supported by the electronic device, subscribe to a target scenario fence so that the electronic device can push the corresponding auxiliary service when it detects that the auxiliary service trigger conditions are met according to the target scenario fence.

[0008] 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.

[0009] In this way, by merging the obstacle scenarios supported by the auxiliary service and the scene detection capabilities possessed by 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.

[0010] As an example of the present application, the specific implementation of obtaining parameter information of each auxiliary service supported by the 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 auxiliary service 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 auxiliary service. Obtain the scene trigger information of any auxiliary service, and different scene trigger information corresponds to different specified identifiers. The added application list and the scene trigger information of any auxiliary service are obtained as the parameter information of any auxiliary service.

[0011] 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 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.

[0012] 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 a specified identifier is performed.

[0013] 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.

[0014] As an example of the present application, based on the parameter information of each auxiliary service and the scene detection capabilities supported by the electronic device, the specific implementation of subscribing to the target scene fence may include: for any 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 of the auxiliary services. If 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 of the auxiliary services, subscribing to the scene fence of any of the auxiliary services.

[0015] 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 various subscribed obstacle scenes, thereby effectively pushing the auxiliary services, avoiding subscribing to obstacle scenes that the electronic device cannot detect, resulting in the failure to successfully push the corresponding auxiliary services after subscription.

[0016] As an example of this application, the scene fence of any auxiliary service includes a mapping relationship between the scene trigger information of any auxiliary service and an application list. By establishing a mapping relationship between the application list and the scene trigger information, when the electronic device detects that an obstacle scene has been triggered, it determines whether there is an application corresponding to the obstacle scene in the application list based on the mapping relationship, and thus decides whether to push the auxiliary service.

[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, before subscribing to the target scene fence, the electronic device can also detect the screen on / 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.

[0018] 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 the additional power consumption of the electronic device caused by subscribing to the scene fence when the screen is off and the power saving mode is turned on.

[0019] As an example of this application, based on the parameter information of each auxiliary service and the scene detection capabilities 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 is turned on, the subscription to the target scene fence is canceled. In this way, since scene detection requires a certain amount of power consumption, 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.

[0020] 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, after subscribing to the target scene fence, if an application change event occurs in the electronic device, it is queried whether the target auxiliary service exists in each auxiliary service. The target auxiliary service is the auxiliary service of the target application that supports the change, and the application change event is the 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.

[0021] In this way, when an application change event is detected, by querying whether the subscribed auxiliary service supports the application in which the application change event occurs, if one or some of the subscribed auxiliary services support the application, the scene fence corresponding to this or these auxiliary services is updated, so that when the obstacle scene is triggered during the subsequent operation of the application, the electronic device can successfully and accurately push the auxiliary service.

[0022] As an example of the present application, the electronic device includes a multi-mode decision engine, a decision center, and an application package management service. 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 center. The multi-mode decision engine subscribes to the target scene fence from the decision center based on the parameter information of each auxiliary service and the scene detection capability supported by the electronic device.

[0023] 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, as well as 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, thereby facilitating the subsequent successful push of the auxiliary service.

[0024] 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 based on 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 the 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 the 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.

[0025] 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.

[0026] In a third aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium. When the computer-readable storage medium is executed on a computer, the computer executes the method for pushing services described in the first aspect.

[0027] 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.

[0028] The technical effects obtained by the above-mentioned second, third and fourth aspects 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

[0029] FIG1 is a schematic diagram showing an application scenario according to an exemplary embodiment;

[0030] FIG2 is a schematic diagram showing an application scenario according to another exemplary embodiment;

[0031] FIG3 is a schematic diagram showing an application scenario according to another exemplary embodiment;

[0032] FIG4 is a schematic diagram showing an application scenario according to another exemplary embodiment;

[0033] FIG5 is a schematic diagram showing an application scenario according to another exemplary embodiment;

[0034] FIG6 is a schematic diagram showing an application scenario according to another exemplary embodiment;

[0035] FIG7 is a schematic diagram showing an application scenario according to another exemplary embodiment;

[0036] FIG8 is a schematic diagram showing a software system of an electronic device according to an exemplary embodiment;

[0037] FIG9 is a schematic diagram showing a method flow for pushing auxiliary services according to an exemplary embodiment;

[0038] FIG10 is a schematic diagram showing a flow chart of determining whether a subscription scenario condition is met according to an exemplary embodiment;

[0039] FIG11 is a schematic diagram showing a process of refreshing a scene fence according to an exemplary embodiment;

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

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

[0042] 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 merely 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, words such as “first” and “second” are used to distinguish between identical or similar items with basically the same functions and effects. Those skilled in the art can understand that words such as “first” and “second” do not limit the quantity and execution order, and words such as “first” and “second” do not necessarily limit them to be different.

[0043] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.

[0044] In some scenarios, users may face obstacles in using electronic devices. Refer to Figure 1. For able-bodied people, situational obstacles may exist, such as interaction, visual, and auditory barriers, which can make it difficult to operate a phone, see, or hear. For people with disabilities, physiological obstacles may exist, such as low vision or hearing impairments. For example, when using a phone, a user may find themselves out of reach, unable to operate the phone due to dirty hands, unable to see or clearly see the phone, on the subway or bus, unable to hear or clearly hear the phone, washing their hands during a video call, or driving and unable to operate the phone. These scenarios are generally referred to as obstacle scenarios. Electronic devices provide multimodal human-computer interaction capabilities for obstacle scenarios, allowing users to successfully use electronic devices in these obstacle scenarios.

[0045] 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. 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; free instructions means that users can control the alarm clock of an electronic device through voice after the alarm clock 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.

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

[0047] In one example, a possible application scenario involved in an embodiment of the present application is introduced by taking the push of the “visible and speakable” auxiliary function as an example. As an example and not a limitation, an entrance for turning on or off the “visible and speakable” auxiliary function is provided in the mobile phone, and the user can control the turning on or off of the “visible and speakable” auxiliary function through the entrance. Exemplarily, the mobile phone provides the entrance in the shortcut function control item of the setting application, see Figure (a) in Figure 2, Figure (a) in Figure 2 is a schematic diagram of a shortcut function control interface shown according to an exemplary embodiment, and the shortcut function control interface U1 is provided with a main switch 00 for shortcut function control and a voice control switch 01. When the user needs the mobile phone to actively push the “visible and speakable” auxiliary function in some scenarios, the main switch 00 for the shortcut function control can be turned on, 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.

[0048] It should be noted that the above-mentioned entrances are merely 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 such other entrances in the smart voice of the settings application. The embodiments of the present application are not limited to this.

[0049] When the "Visible and Speakable" auxiliary function is enabled, in some scenarios, the phone proactively pushes the "Visible and Speakable" auxiliary function. For example, in one possible application scenario, a phone is playing a video through a video app. The user places the phone, which is currently playing the video, on a stand (see Figure 2(b)). After a certain period of time (e.g., 10 seconds), the phone automatically displays a push window 02 on the screen. Push window 02 primarily includes the service type, service function description, and service control switch of the auxiliary service pushed by the phone. As shown in Figure 2(b), the service type is "Voice Control" and the service function description is "When the device is on the stand, the video app can be controlled by voice." The service control switch is enabled by default. After a certain period of time (e.g., 5 seconds), if the user does not operate the phone (see Figure 2(c)), the phone displays a status bar capsule 03 and no longer displays push window 02. Status bar capsule 03 includes prompts to the user on how to operate the phone, such as "Try to say: play, pause, fast forward." The phone can also announce the prompts through voice. This allows users to control the video playing on their phone through voice. For example, when the user says "pause," as shown in Figure 2 (d), the phone pauses the video. This improves the user experience by automatically pushing the "Visible and Speakable" assistive feature to the user while the phone is playing a video and the user takes their hands off the phone for a preset duration (e.g., 10 seconds). This allows the user to control the video playing on the phone through voice without having to touch the phone.

[0050] Referring to FIG2(c), while status bar capsule 03 is displayed, the phone also displays status bar capsule 04 (highlighted) at the top of the screen to indicate that the currently playing video can be controlled via voice. Referring to FIG2(d), while the user is controlling the currently playing video via voice, status bar capsule 04 continues to be displayed at the top of the phone, informing the user that voice control of the currently playing video is still possible.

[0051] As an example of this application, referring to Figure 2 (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, they can click on the status bar capsule 04. Referring to Figure 2 (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 speakable" auxiliary function. At this time, referring to Figure 2 (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 is prevented from having to turn off the "visible and speakable" auxiliary function from the entrance in the quick function control interface U1 when they do not need to control the video by voice, thereby improving the convenience of user operation.

[0052] Referring to Figure 3 (a), when the mobile phone displays the push window 02, if the user turns off the service control switch, then referring to Figure 3 (b), the mobile phone does not display the status bar capsule 03 shown in Figure 2 (c), and only displays the status bar capsule 04 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 Speakable" auxiliary service again, they can click on the status bar capsule 04. In response to the user's triggering operation on the status bar capsule 04, the mobile phone displays the push window 02 shown in Figure 3 (c), and 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 Speakable" auxiliary service again.

[0053] Referring to Figure 4 , after the "Visible and Talkable" auxiliary service is activated, for example, when the phone is displaying the interface shown in Figure 4 (a), if the user pulls down the notification bar, as shown in Figure 4 (b), in response to the user's pull-down operation of the notification bar, the phone displays a push message 40 in the notification center. If the user swipes left on push message 40, the phone deletes push message 40 from the notification bar in response to the user's left swipe operation and returns to the video playback interface. At this point, the "Visible and Talkable" auxiliary service is deactivated, as shown in Figure 4 (c), and the status bar capsule 04 may no longer be displayed in the video playback interface.

[0054] Referring to FIG5 , after the "Visible and Talkable" auxiliary service is activated, for example, when the mobile phone displays the interface shown in FIG5 (a), if the user triggers the mobile phone to exit the video playback interface, the mobile phone automatically closes the "Visible and Talkable" service. Referring to FIG5 (b), the mobile phone may display an exit prompt 50 in the exit interface, for example, the exit prompt 50 may read "Voice Control is Off." As an example and not a limitation, the mobile phone may also announce the exit prompt via voice.

[0055] 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 and not a limitation, the mobile phone also provides an entrance for turning on or off the "AI subtitles" auxiliary function, and the user can control the "AI subtitles" auxiliary function to be turned on or off through the entrance. For example, the mobile phone provides the entrance in the quick function control item of the setting application, see Figure (a) in Figure 6, Figure (a) in Figure 6 is a schematic diagram of a quick function control interface according to an exemplary embodiment, and the quick function control interface U1 is provided with 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 the 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.

[0056] Similarly, the entrance provided in Figure (a) in Figure 6 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 in this embodiment of the present application.

[0057] 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. As shown in Figure (b) of Figure 6, the service type is "Honor Transcribe", which is also the "AI Subtitles" auxiliary service. The service function description information is "When your device is silent or the battery is low, automatically turn on the subtitle function under the video." The service control switch is in the off state by default. If the user needs the mobile phone to execute the "AI Subtitles" auxiliary function, the user can trigger the service control switch to the on state. Referring to Figure (c) of Figure 6, 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 highlighted at this time), so that the user can know that the current mobile phone is executing the "AI subtitles" auxiliary service.

[0058] 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 subtitles" 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, the user is prevented from closing the entrance in the quick function control interface U1 when the mobile phone does not need to translate the video content, thereby improving the convenience of user operation.

[0059] In another possible case, referring to Figure 7 (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, referring to Figure 7 (b), after a certain period of time (for example, 5 seconds), the mobile phone can display a status bar capsule 22 at the top of the screen (the status bar capsule 22 at this time can be displayed in grayscale to distinguish it from Figure 6 (c), indicating that the "AI subtitles" auxiliary service is not currently turned on). As shown in Figure 7 (b), when the user needs to use the "AI subtitles" auxiliary service, he can click on the status bar capsule 22. Referring to Figure 7 (c), in response to the user's click operation 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 displayed for the first time, a push capsule 22 will be displayed at the top of the screen, so that when the mobile phone is playing a video, the user can trigger the mobile phone to execute the "AI subtitles" auxiliary function at any time through the push capsule 22, which can improve the user experience. Moreover, since the status bar capsule 22 is displayed at the top of the screen and occupies a smaller area, it can avoid blocking the video being played.

[0060] It should be noted that the above description is based on the example of displaying the push window 20 with the service control switch in the push window 20 being off by default. In another example, the service control switch in the push window 20 can also be on by default. In this case, if the user needs to use the "AI Subtitles" auxiliary service, they can stop the phone from operating. After a certain period of time, the phone will display the subtitle display box 21 on the screen and the status bar capsule 22 at the top of the screen. If the user does not need to use the "AI Subtitles" auxiliary service, they can manually turn off the service control switch.

[0061] 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 go into details here.

[0062] It should be noted that the above application scenarios are merely 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.

[0063] It should be noted that the above description is based on the example of a mobile phone as an electronic device. In addition, the methods provided in the embodiments 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 (UMPCs), netbooks, personal digital assistants (PDAs), augmented reality (AR) and virtual reality (VR) devices, and the embodiments of the present application are not limited thereto.

[0064] The software system of the electronic device can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a microservice architecture, or a cloud architecture. In the embodiment of the present application, the Android system with a layered architecture is used as an example to exemplify the software system of the electronic device.

[0065] Figure 8 is a block diagram of a software system for an electronic device provided in an embodiment of the present application. Referring to Figure 8 , the layered architecture divides the software into several layers, each with distinct roles and divisions of labor. Layers communicate with each other via software interfaces. In some embodiments, the Android system, from top to bottom, includes at least an application layer, an application framework layer, and a hardware abstraction layer (HAL).

[0066] The application layer can include a series of application packages. As shown in Figure 8, the application package can include applications such as Visible and Speakable, AI Subtitles, Free Commands, Air Gestures, Settings, Camera, Gallery, Calls, Maps, Music, and Video.

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

[0068] The multimodal decision engine is used to subscribe to or unsubscribe from the scene fence of obstacle scenarios (also called obstacle scenarios) related to auxiliary services to the decision-making middle station, 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 appropriate to enter a multimodal interaction state based on the specific scenario identified by the decision-making middle station, 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.

[0069] As an example of this application, the multimodal decision engine includes at least one auxiliary service agent, where different auxiliary service agents correspond to different auxiliary services. That is, there is a one-to-one correspondence between auxiliary service agents and auxiliary services. For example, the "Visible and Speakable" auxiliary service corresponds to one auxiliary service agent, and the "AI Subtitles" auxiliary service corresponds to another auxiliary service agent. The multimodal decision engine interacts with the corresponding auxiliary service through the auxiliary service agent.

[0070] The decision-making platform receives subscriptions and unsubscriptions from the multi-modal decision engine's scene fences. If a subscribed scene fence exists, the platform registers the perception fence and interacts with the perception module to identify whether the electronic device is in an obstacle scenario. When a scene fence is entered or exited, the decision-making platform notifies the multi-modal decision engine. The decision-making platform can also monitor system events, such as application switching.

[0071] 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.

[0072] 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 the on state; when the display screen is not powered, the display screen of the electronic device is in the off state.

[0073] It should be noted that the present embodiment of the application is merely illustrative of an application framework layer including the aforementioned multiple modules. Furthermore, the application framework layer also includes some predefined functions, such as a window manager, content provider, view system, phone manager, resource manager, and notification manager, which are not limited in the present embodiment of the application.

[0074] The hardware abstraction layer is an encapsulation of the Linux kernel driver, providing an interface to the upper layer. 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 environment perception, to provide various state detection fences. For example, the perception module can be used to detect the motion state of the electronic device, detect what kind 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 environment in which the electronic device is currently located.

[0075] It should be noted that FIG8 only exemplarily shows some layers of the software system and does not limit the architecture of the software system of the electronic device. The software system may also include other layers, which is not limited in the embodiments of the present application.

[0076] Based on the above embodiments, the service push method provided by the embodiments of the present application is described below. Referring to FIG. 9 , FIG. 9 is a flow chart illustrating a service push method according to an exemplary embodiment. As an example and not a limitation, the method can be executed by the electronic device shown in FIG. 8 , which can be implemented by the interaction of multiple modules. The method may include some or all of the following:

[0077] S901: After the multi-mode decision engine monitors the power-on completion broadcast, it detects the multi-mode configuration items to determine whether the electronic device has the authority to use the auxiliary service.

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

[0079] 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, then other dependent businesses (such as the decision-making middle platform, 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 platform. Therefore, in one example, after the multi-mode decision engine is started, it may not perform actual business logic, but only register a power-on broadcast listener to listen for the power-on completion broadcast. When the power-on completion broadcast is heard through the power-on broadcast listener, it means that the electronic device has completed the power-on. In this case, the multi-mode decision engine will then perform actual business logic, such as detecting multi-mode configuration items to determine whether the electronic device has the authority to use auxiliary services.

[0080] For some electronic devices, it is possible to control these electronic devices to have the permission to use one or all auxiliary services, while for other electronic devices, it is possible to control other electronic devices 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 one-to-one 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.

[0081] 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 based on the status values ​​of the total configuration item and the sub-configuration item corresponding to the auxiliary service in the multi-mode configuration item. 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, then 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, then it is determined that the electronic device does not have the authority to use auxiliary service SV1.

[0082] If there are multiple auxiliary services, the above detection method can be used to determine whether the electronic device has permission to use each of the multiple auxiliary services. For any of the multiple auxiliary services, if the electronic device has permission to use this auxiliary service, the multi-modal decision engine can determine whether to subscribe to the scene fence corresponding to this auxiliary service through the following process. If the electronic device does not have permission to use this auxiliary service, the multi-modal decision engine will not subscribe to the scene fence corresponding to this auxiliary service.

[0083] 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.

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

[0085] 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.

[0086] 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 mentioned 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.

[0087] As an example, the initialization operation of the multi-mode decision engine may further include registering a switch listener. The number of switch listeners 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. All services include auxiliary services. If the switch of the basic service is in the off state, it can be determined that all services of the electronic device are closed, that is, all services cannot be used; the global switch of the auxiliary service is used to control the opening or closing of all auxiliary services in the electronic device. If the global switch of the auxiliary service is in the off 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 off state, the electronic device cannot push the service through the status bar capsule.

[0088] 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.

[0089] The auxiliary service agent P1 is any one of the at least one auxiliary service agent. For example, the auxiliary service SV1 is a "visible and talkable" auxiliary service, and accordingly, the auxiliary service agent P1 is the auxiliary service agent corresponding to the "visible and talkable" auxiliary service.

[0090] Querying whether Auxiliary Service SV1 is supported refers to checking whether the Auxiliary Service SV1 provided by the electronic device is available. That is, before using Auxiliary Service SV1, the multimodal decision engine can call the service query interface of Auxiliary Service Proxy P1 to query whether the electronic device supports Auxiliary Service SV1 through Auxiliary Service Proxy P1, ensuring that the Auxiliary Service SV1 can be pushed and launched normally.

[0091] 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, 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 electronic device provided with the "visible and speakable" auxiliary service and the "AI subtitles" auxiliary service 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.

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

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

[0094] For example, taking the auxiliary service SV1 as an example of a "visible and speakable" auxiliary service, 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 for support to determine whether the auxiliary service SV1 provided in the electronic device is usable.

[0095] According to the above 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 based on the application package name. For example, taking the auxiliary service agent P1 as the agent of the "Visible and Speakable" auxiliary service SV1 as an example, 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 can query the version information corresponding to "Visible and Speakable" based on the application package name, and query 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.

[0096] It should be noted that the hardware and software conditions related to the "Visible and Talkable" auxiliary service described above are merely exemplary. Other hardware and / or software conditions may also be included in the "Visible and Talkable" auxiliary service, which are not limited in the present embodiment.

[0097] 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.

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

[0099] 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.

[0100] When the multimodal decision engine includes multiple auxiliary service agents, the PMS responds to query instructions sent by each auxiliary service agent to query the software and / or hardware conditions related to the auxiliary service corresponding to each auxiliary service agent. After the query, the PMS provides feedback to each auxiliary service agent.

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

[0102] After the auxiliary service agent P1 receives the query result fed back by the PMS, it determines whether the auxiliary service SV1 is supported based on the query result and obtains the service support result. For example, taking the auxiliary service SV1 as "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, 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.

[0103] 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 service support results determined by each to the multi-mode decision engine.

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

[0105] 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 operations S908 to S913 below.

[0106] It should be noted that the embodiment of the present application is described by taking the case where the service support result indicates that the auxiliary service SV1 is supported as an example. If the service support result indicates that the auxiliary service SV1 is not supported, no subsequent operations are performed on the auxiliary service SV1.

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

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

[0109] The designated identifier can be set as needed. For any application in an 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 an obstacle scenario that the auxiliary service SV1 is concerned about during the operation of the application, the multimodal 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.

[0110] 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 auxiliary service SV1 may be represented as:

[0111] <intent-filter>

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

[0113] 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, the "AI subtitles" auxiliary service may correspond to designated identifier 2, and so on.

[0114] As an example of this application, if an auxiliary service supports multiple obstacle scenarios, different designated identifiers may be associated with each obstacle scenario. For example, if the "Visible and Talkable" auxiliary service supports obstacle scenario 1 and obstacle scenario 2, then obstacle scenario 1 supported by the "Visible and Talkable" auxiliary service may be associated with designated identifier 1, and obstacle scenario 2 supported by the "Visible and Talkable" auxiliary service may be associated with designated identifier 2. In this case, when the auxiliary service agent P1 sends an application query command to the PMS, it may include designated identifier 1 and designated identifier 2 in the application query command.

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

[0116] As previously mentioned, if an application package includes a specified identifier, it indicates that the application corresponding to the application package is supported by Auxiliary Service SV1. Therefore, the PMS queries the application package that includes the specified identifier to determine the application supported by Auxiliary Service SV1. In one example, the PMS can traverse the application packages of the applications installed on the electronic device to determine which application package includes the specified identifier.

[0117] As an example of the present application, after the PMS determines an application package that includes a specified identifier, it can generate an application list, which includes application information corresponding to the application package of the application that includes the specified identifier. In other words, the application information corresponding to the application package that includes 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.

[0118] 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.

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

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

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

[0122] 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 talkable" 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 the 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. Within 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 not there, resulting in frequent entry and exit).

[0123] 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.

[0124] 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.

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

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

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

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

[0129] The scene detection capability of the decision-making center refers to the ability to detect obstacle scenes, such as video obstacle scene detection capability and alarm clock obstacle scene detection capability. The support level may vary 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 clock 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 capabilities of the decision-making center. To this end, the multi-mode decision engine can send a capability query instruction to the decision-making center.

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

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

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

[0133] 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.

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

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

[0136] As an example of this application, referring to FIG10 , the specific implementation of the multi-mode decision engine determining whether the scenario subscription condition is currently met may include the following steps:

[0137] A1. The multi-mode decision engine checks whether the basic service is turned on.

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

[0139] 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 status 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.

[0140] As another example of the present application, when the multi-modal decision engine needs to query the status of a basic service, it can query from the settings application, for example, by sending a basic service status query instruction to the settings application. In response to the basic service status query instruction, the settings application queries whether the basic service is turned on and feeds back the query result to the multi-modal decision engine.

[0141] If the basic service is enabled, all services provided by the electronic device are available, in which case the process proceeds to step A2 below. Otherwise, if the basic service is not enabled, all services provided by the electronic device are unavailable, in which case the multi-modal decision engine determines that the scenario subscription conditions are not met, in which case the process proceeds to step A8 below.

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

[0143] 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, thereby determining 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, thereby determining 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.

[0144] As another example of the present application, when the multi-mode decision engine needs to determine whether the electronic device is in the 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 the 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 the 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 can determine whether the electronic device is currently in the screen-on state.

[0145] If the electronic device is currently in the 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 the screen-on state, it means that the user is not currently using the electronic device. In this case, the multi-modal decision engine determines that the scene subscription conditions are not met, that is, the following A8 operation is performed.

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

[0147] 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 status, so that when a query is needed, it can determine whether the power saving mode of the electronic device is in the on state based on the recorded status.

[0148] As another example of the present application, the setting application of the electronic device is provided with a power saving mode switch. 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 status 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 turned on.

[0149] 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, the operation of A4 below is entered; 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, the operation of A8 below is entered.

[0150] A4. The multi-mode decision engine determines whether the capsule push method is used.

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

[0152] As an example of this application, the multimodal decision engine can determine whether capsule push is used based on the type of auxiliary service. For example, some types of auxiliary services may be pre-configured for capsule push, such as the "Visible and Talkable" auxiliary service, while other types of auxiliary services may not be configured for capsule push. Therefore, the determination of capsule push can be made based on the type of auxiliary service.

[0153] If it is determined that the method is capsule push, then the process proceeds to operation A5 below. Otherwise, if the method is not capsule push, then the multimodal decision engine may determine that the scenario subscription condition is not met, that is, proceeds to operation A8 below.

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

[0155] As an example of the present application, the multi-mode decision engine registers a third switch listener during initialization, and the settings app in the electronic device provides the status bar capsule switch. When the user toggles the status bar capsule to the on state in the settings app, the settings app can broadcast the capsule switch on broadcast. Accordingly, the multi-mode decision engine can listen to the capsule switch on broadcast through the third switch listener, thereby determining that the status bar capsule is on. When the user toggles the status bar capsule to the off state in the settings app, the settings app can broadcast the capsule switch off broadcast. Accordingly, the multi-mode decision engine can listen to the capsule switch off broadcast through the third switch listener, thereby determining that the status bar capsule is off. After listening to the capsule switch on broadcast or capsule switch off broadcast, the multi-mode decision engine can record this status. In this way, when a query is needed, it can determine whether the status bar capsule is on based on the recorded status.

[0156] As another example of the present application, a settings application in an electronic device provides an on / off switch for a status bar capsule. When the multimodal decision engine needs to query whether the status bar capsule is on / off, it can send a capsule on / off query instruction to the settings application. After receiving the capsule on / off query instruction, the settings application queries whether the status bar capsule is on / off. It then feeds back the query result to the multimodal decision engine, allowing the multimodal decision engine to determine whether the status bar capsule is on / off.

[0157] If the switch of the status bar capsule is on, it means that auxiliary services 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 off, it means that auxiliary services cannot be pushed through the status bar capsule. In this case, the multi-modal decision engine determines that the scene subscription conditions are not met, and proceeds to the following A8 operation.

[0158] It should be noted that the embodiments of the present application are described using the example of pushing auxiliary services via status bar capsules. In another example, auxiliary services can also be pushed via other methods, such as notification messages. As an example and not a limitation, if the multi-modal decision engine determines that auxiliary service SV1 is not pushed via capsules, it can query whether there are other push methods. If so, it proceeds to the following operation A6. Otherwise, if no other push methods exist, the multi-modal decision engine can determine that the scenario subscription conditions are not met, i.e., proceed to the following operation A8.

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

[0160] As mentioned above, the auxiliary service global switch is used to control the opening or closing of all auxiliary services provided in the electronic device.

[0161] 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 a global switch on broadcast. Accordingly, the multi-mode decision engine can listen to the global switch on broadcast through the second switch listener, thereby determining 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 a global switch off broadcast. Accordingly, the multi-mode decision engine can listen to the global switch off broadcast through the second switch listener, thereby determining 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 status. In this way, when a query is required, it can determine whether the auxiliary service global switch is turned on based on the recorded status.

[0162] As another example of the present application, an electronic device provides a global switch for auxiliary services through a settings application. When the multi-mode decision engine needs to query whether the global switch for auxiliary services is on, it can query the settings application for a global switch query instruction. After receiving the global switch query instruction, the settings application queries the status of the global switch for auxiliary services and then feeds back the query result to the multi-mode decision engine, allowing the multi-mode decision engine to determine whether the global switch for auxiliary services is on.

[0163] 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, that is, enter the following A8 operation.

[0164] A7. Determine whether the current scenario subscription conditions are met.

[0165] If the auxiliary service global switch is on, it means that the auxiliary service 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.

[0166] A8. Determine whether the scene subscription conditions are currently not met.

[0167] It should be noted that the above-mentioned implementation method for determining whether the scenario subscription conditions are met is merely exemplary. In another example, the determination process may also include other methods. For example, other methods may include some or more operations in the above-mentioned implementation process. For example, when querying whether the global switch of the auxiliary service is on, it is also possible to continue to query whether the local switch of the auxiliary service SV1 is on. Alternatively, the order of determination may be different from the above-mentioned determination order. This embodiment of the present application is not limited to this.

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

[0169] 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 triggering information corresponding to an auxiliary service and an application list.

[0170] 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 related application list of the video obstacle scenario, and the scene fence of the alarm obstacle scenario includes the scene trigger information and related application list of the alarm obstacle scenario.

[0171] 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.

[0172] 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, allowing the multi-mode decision engine to decide whether to push the auxiliary service. In an example, its specific implementation can be seen in the following steps:

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

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

[0175] 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, 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.

[0176] In the case of 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.

[0177] 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.

[0178] 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, it notifies the decision-making center which perception fence is triggered.

[0179] 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.

[0180] 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.

[0181] As an example of this application, a trigger message may carry scenario trigger information, application information of the application running in the foreground, and scenario status. The scenario trigger information in the trigger message may be used to indicate which obstacle scenario was triggered, the application information in the trigger message may be used to indicate which application the currently triggered obstacle scenario is associated with, and the scenario status in the trigger message may be used to indicate whether the application is running in the foreground.

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

[0183] In one example, the multimodal decision engine queries retained data for matching auxiliary services based on application information and scenario trigger information. If a matching auxiliary service exists and the scenario status indicates that the application is in the foreground, the auxiliary service is pushed. Otherwise, if no matching auxiliary service exists or the scenario status indicates that the application is out of the foreground, the auxiliary service is not pushed.

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

[0185] For example, referring to FIG. 2 (b), when the multimodal 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 video being played by voice.

[0186] It should be noted that the embodiment of the present application is described by directly launching an auxiliary service when it is determined that an auxiliary service is to be pushed. In another example, when it is determined that an auxiliary service is to be pushed, a push window can be displayed first. When the user triggers a confirmation operation based on the push window, the multi-modal decision engine then launches the auxiliary service. For details, please refer to the application scenario in Figure 6.

[0187] 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.

[0188] 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. 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 based on the parameter information of each auxiliary service and the scene detection capability supported by the electronic device, a target scene fence is subscribed. The target scene fence includes at least one scene fence of an 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 parameter information of the auxiliary service and the scene detection capability supported by the electronic device are merged to determine the auxiliary service that the electronic device is ultimately allowed to provide, and based on the auxiliary service that is determined to be allowed to be provided, the corresponding scene fence is subscribed to accurately push the auxiliary service to the user when it is detected that the scene fence is triggered.

[0189] During the use of an electronic device, the parameter information of the auxiliary service may change, such as the application list. In order to accurately push the auxiliary service, the application list corresponding to the auxiliary service and the scene fence may be refreshed according to the update detection logic. Specifically, referring to Figure 11, Figure 11 is a flow chart of a method for refreshing the scene fence according to an exemplary embodiment. The method can be executed by the electronic device shown in Figure 8. The electronic device is implemented by the interaction of multiple modules. The method may include some or all of the following contents:

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

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

[0192] 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.

[0193] 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.

[0194] In one case, an application change event occurs when a user installs a new application on an electronic device. In another case, an application change event occurs when a user uninstalls an already installed application on an electronic device. When an application change event occurs, auxiliary service agent P1 can monitor this event through an application listener. Because the changed application may be related to auxiliary service SV1, to further confirm this, auxiliary service agent P1 sends an application refresh instruction to the PMS, including a specified identifier in the application refresh instruction.

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

[0196] As previously mentioned, if an application's package includes a designated identifier, it indicates that Auxiliary Service SV1 supports the application. If the package does not include the designated identifier, it indicates that Auxiliary Service SV1 does not support the application. Therefore, the PMS can detect whether the modified application's package includes the designated identifier, thereby determining whether the modified application is related to Auxiliary Service SV1 and, therefore, whether Auxiliary Service SV1 supports the modified application.

[0197] S1104: In case the auxiliary service SV1 supports the changed application program, the PMS sends the updated application list to the auxiliary service proxy P1.

[0198] For example, if the application change event involves uninstalling an application, the PMS deletes the changed application information from the application list corresponding to the specified identifier, obtaining an updated application list. If the application change event involves installing an application, the PMS adds the changed application information to the application list corresponding to the specified identifier, obtaining an updated application list. The PMS then sends the updated application list to the auxiliary service agent P1.

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

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

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

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

[0203] The multimodal 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 multimodal decision engine subscribes to the scene fence of auxiliary service SV1, it can record this subscription event. In this way, the multimodal decision engine can self-check whether it is subscribed to the scene fence of auxiliary service SV1 by querying whether this record exists.

[0204] 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.

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

[0206] 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.

[0207] It should be noted that the embodiment of the present application is to use the multi-mode decision engine to send a screen status query instruction to the power management module, 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.

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

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

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

[0211] 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 settings 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.

[0212] It should be noted that there is no strict order in which the multi-mode decision engine queries the screen on / off status and detects the power saving mode status. In one example, these two operations can be performed in parallel. Furthermore, the above two operations are optional.

[0213] 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.

[0214] 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 conditions are met. In this case, the multi-modal 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.

[0215] 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.

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

[0217] In this way, when an application change event occurs and the updated application is related to the auxiliary service SV1, the multi-modal decision engine refreshes the application list corresponding to the auxiliary service SV1 according to the update detection logic, and refreshes the scene fence of the 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.

[0218] 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.

[0219] It should be noted that the present embodiment uses the example of an application that supports changes in auxiliary service SV1. In another scenario, if auxiliary service SV1 does not support the changed application, then there is no need to update the application list. In this case, the PMS can send a no-change notification to auxiliary service proxy P1 to inform auxiliary service proxy P1 that the application change event is not related to auxiliary service SV1. In this case, the scene fence does not need to be refreshed.

[0220] It should be noted that the embodiment of the present application is described based on 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-modal 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 / 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.

[0221] 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 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 fence registered in the perception module, that is, it will no longer perform operations such as scene detection, thereby saving the operating power consumption of the electronic device.

[0222] In an 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 scene fence subscription, thereby accurately pushing the auxiliary service. Furthermore, if the auxiliary service is not needed, the scene fence subscription is canceled, so that the electronic device no longer performs scene detection, thereby reducing the operating power consumption of the electronic device.

[0223] FIG12 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Referring to FIG12 , 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 jack 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identification module (SIM) card interface 195, etc. Among them, the sensor module 180 can 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.

[0224] It should be understood that the structures illustrated in the embodiments of the present application do 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, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0225] 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 processing unit (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). The different processing units may be independent devices or integrated into one or more processors.

[0226] 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.

[0227] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0228] 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.

[0229] It is understood that the interface connection relationship between the modules illustrated in the embodiments of the present application is merely an illustrative 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 from the above embodiments, or a combination of multiple interface connection methods.

[0230] 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 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 count, and battery health status (leakage, impedance). 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.

[0231] 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.

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

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

[0234] The electronic device 100 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.

[0235] 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 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.

[0236] 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 can 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 can 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.

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

[0238] The gyroscope 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 gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope 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 gyroscope sensor 180B can also be used for navigation and somatosensory game scenes.

[0239] Accelerometer 180E can detect the magnitude of acceleration of electronic device 100 in all directions (generally three axes). When electronic device 100 is stationary, it can detect the magnitude and direction of gravity. Accelerometer 180E can also be used to identify the posture of electronic device 100, enabling applications such as switching between landscape and portrait modes and pedometers.

[0240] The keys 190 include a power button, a volume button, etc. The keys 190 may be mechanical keys or touch keys. 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.

[0241] 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 can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can 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 can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (such as a coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) method. The computer-readable storage medium can 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 (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital versatile disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).

[0242] The above are optional embodiments provided for this application and are not intended to limit this application. Any modifications, equivalent replacements, improvements, etc. made within the technical scope disclosed in this application should be included in the scope of protection of this 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

Patent Citations

  • Service pushing method, electronic equipment and readable storage medium

    CN119960923A

  • Information processing method, client and server based on geo-fencing

    CN107948923A

  • Information prompting method and device, mobile terminal and computer readable medium

    CN108647070A

  • Terminal control method and device and computer readable storage medium

    CN108804010A

  • Information auxiliary processing method, device and equipment and computer readable storage medium

    CN114281454A