Method and apparatus for enabling device capabilities
By acquiring the enable status information of device capabilities, duplicate enablement is avoided, thus resolving the business conflict problem of device capabilities in multi-device collaborative processing, improving the utilization efficiency of device capabilities and the smoothness of collaborative processing.
Patent Information
- Application Number
- CN202211468151.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-22
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2042-11-22
AI Technical Summary
When multiple devices collaborate to process business, multiple business calls to the same device capability within the same time period can cause the device capability to be repeatedly enabled, leading to business conflicts.
By acquiring the enable status information of the target device's capabilities, its enable status is determined, and an enable operation is performed only when it is not enabled to avoid repeated enabling. The enable status information is then updated so that other devices can acquire it.
It resolves business conflicts during the device capability enabling process, ensuring that device capabilities are enabled only once, thereby improving the efficiency of device capability utilization and the smoothness of collaborative processing.
Smart Images

Figure CN118069334B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of electronic product technology, and more specifically to a method and apparatus for enabling device capabilities. Background Technology
[0002] With the development of communication technology, different electronic devices can establish communication connections and share device capabilities to collaboratively process the same service. Device capabilities include, for example, audio, video, printing, and positioning capabilities. Taking audio playback as an example, one electronic device (auxiliary device) can share its audio capabilities with another interconnected electronic device (master device). When the master device plays audio data, it can utilize the auxiliary device's audio capabilities to play the audio data, thus achieving collaborative audio playback.
[0003] Before collaboratively processing a certain service, the master device needs to enable the device capabilities required for that service to make the device capabilities available so that the device capabilities can be successfully invoked when processing the service.
[0004] The primary and secondary devices can collaborate to handle different services, and different services may need to call the same device capability of the secondary device. When multiple services start within the same time period and need to call the same device capability of the secondary device, service conflicts arise between the multiple services, leading to the device capability being enabled repeatedly. Therefore, there is an urgent need for a device capability enabling method to resolve the service conflict problem in the device capability enabling process. Summary of the Invention
[0005] This application provides a method and apparatus for enabling device capabilities, which can resolve business conflict issues during the device capability enabling process.
[0006] Firstly, a method for enabling device capabilities is provided, applied to a master device, the method comprising:
[0007] The master device obtains the enable status information of the target device capability according to the first service to be processed, and the target device capability is the device capability of the auxiliary device for processing the first service.
[0008] When the enable status information indicates that the target device capability is not enabled, the master device enables the target device capability to invoke the target device capability to process the first service.
[0009] For example, after the first service is started, the master device can obtain the enable status information of the target device's capabilities from the auxiliary device. When the enable status information indicates that the target device's capabilities are not enabled, the master device can enable the target device's capabilities. When the enable status information indicates that the target device's capabilities are already enabled, the master device does not enable the target device's capabilities.
[0010] In this embodiment, when the master device enables the auxiliary device's capabilities, it determines whether the capability is enabled based on the capability's enable status information. Enabling the capability when it is not enabled avoids duplicate enabling. When multiple services need to simultaneously call the auxiliary device's capabilities, it ensures that the capability is enabled only once, preventing duplicate enabling and resolving service conflicts during the capability enabling process.
[0011] Optionally, the method further includes: when the target device capability is successfully enabled, updating the enable status information of the target device capability to "enabled".
[0012] Optionally, updating the enable status information of the target device capability to enabled includes: updating the enable status information of the target device capability stored in the auxiliary device to enabled; and / or updating the enable status information of the target device capability stored in the main device to enabled.
[0013] In one implementation, after the primary device successfully enables the target device's capability, it can send an update notification to the secondary device. The update notification may include the service identifier of the target device's capability and the updated enable status information. Upon receiving the update notification, the secondary device can obtain the service identifier and enable status information from the update notification, and then update the enable status information of the target device's capability stored in the secondary device according to the service identifier.
[0014] In one implementation, after the target device's capability is successfully enabled, the master device can update the enable status of the target device's capability stored in the master device.
[0015] In this embodiment of the application, after the main device enables the device capability of the auxiliary device and enables it successfully, it updates the device capability enable status information stored in the auxiliary device. This allows the device capability enable status information to be updated to the auxiliary device in a timely manner, so that other electronic devices can obtain the latest enable status information from the auxiliary device in a timely manner.
[0016] Meanwhile, the master device can also update the pre-stored enable status information of the target device's capabilities. This makes it easier for the master device to process other services if it needs to call the target device's capabilities after starting other services.
[0017] Optionally, obtaining the enable status information of the target device capability based on the first service to be processed includes: obtaining the enable status information of the target device capability from the auxiliary device based on the service type of the first service.
[0018] In one implementation, the electronic device can store the enable status information of its device capabilities and update the enable status information in a timely manner according to the enable status of the device capabilities. When acting as a secondary device to provide the target device capability to the primary device, the electronic device can provide the enable status information to the primary device. During the enabling process, the primary device can send a query request to the secondary device, and the secondary device can send the enable status information of the target device capability to the secondary device according to the query request.
[0019] In this embodiment of the application, when the master device obtains the enable status information of the target device's capabilities, it can obtain the enable status information of the target device's capabilities from the auxiliary device, thus obtaining more accurate enable status information.
[0020] Optionally, obtaining the enable status information of the target device capability based on the first service to be processed includes: when the enable status information of the target device capability is pre-stored in the main device, obtaining the enable status information pre-stored in the main device; when the enable status information of the target device capability is not stored in the main device, obtaining the enable status information from the auxiliary device.
[0021] In one implementation, in a multi-device collaborative system, each electronic device can push its own device capability enable status information to the others, and promptly push the updated enable status information to other connected electronic devices after the enable status information is updated. When a master device obtains enable status information, it prioritizes obtaining it from the master device; if it cannot obtain it, it obtains it from the auxiliary device. Compared to obtaining enable status information from the auxiliary device, this improves the efficiency of enabling information acquisition.
[0022] Optionally, updating the enable status information of the target device capability to "enabled" includes: updating the enable status information of the target device capability to "enabled" through a newly created thread.
[0023] In one implementation, after the master device starts the main thread for collaborative processing, the main thread can create and start a sub-thread. After confirming that the audio capability is successfully enabled, the main thread sends a notification message to the sub-thread. This notification message includes the service identifier of the target device capability and the updated enable status information. Upon receiving the notification message from the main thread, the sub-thread can send an update notification to the auxiliary device, causing the auxiliary device to update the enable status information of the target device capability stored in the update notification based on the service identifier and enable status information.
[0024] In this embodiment of the application, when updating the enable status information of the target device capability, another sub-thread is started to update the enable status information, which can avoid the main thread being blocked during the process of updating the enable status information, thereby allowing the main thread to run smoothly.
[0025] Optionally, the method further includes: when the enable status information indicates that the target device capability has been enabled, acquiring the enable status information again after a preset time interval, and enabling the target device capability when the enable status information indicates that the target device capability has not been enabled.
[0026] In one implementation, when the enable status information indicates that the target device capability is enabled, the master device can wait for a preset time, and after waiting for the preset time, obtain the enable status information again, and continue to enable the target device capability when the obtained enable status information indicates that the target device capability is not enabled.
[0027] In this embodiment, when the enable status information indicates that the target device's capability is enabled, the master device waits for a preset time before acquiring the enable status information again. If the acquired enable status information indicates that the target device's capability is enabled, it continues to enable the target device's capability. This allows the master device to acquire updated enable status information after a preset time if the enable status information is not updated in a timely manner, enabling collaborative processing of services with auxiliary devices and avoiding the inability to collaboratively process services when the enable status information is not updated in a timely manner.
[0028] Optionally, the method further includes: when the target device capability fails to be enabled, if the number of times the target device capability is enabled is not higher than a preset number of times, then the target device capability is enabled again.
[0029] In one implementation, before enabling the target device's capability, the master device can initialize the enable count to 0. After each time the target device's capability is enabled, the enable count is incremented by 1. When the enable count is less than or equal to a preset enable count, the target device's capability is enabled again after a preset time. Conversely, when the enable count is greater than the preset enable count, enabling is stopped.
[0030] In this embodiment, when the main device enables the device capability of the auxiliary device, it can re-enable the device capability of the auxiliary device if the enabling fails. This can avoid the problem that the device capability of the auxiliary device cannot be enabled successfully under some abnormal conditions, resulting in the main device and the auxiliary device being unable to process business in a coordinated manner.
[0031] Optionally, the method further includes: disabling the target device capability when the enable status information indicates that the target device capability is enabled.
[0032] Optionally, the method further includes: when the enable status information indicates that the target device capability is enabled, stopping the second service and re-acquiring the enable status information, wherein the second service is a service that occupies the target device capability.
[0033] In one implementation, the master device can stop the second service when the service priority of the first service is higher than that of the second service, thereby releasing the occupied target device capacity. Alternatively, the master device can stop the second service when its own device priority is higher than that of other devices, thereby releasing the target device capacity.
[0034] In this embodiment of the application, when the enable status information indicates that the target device capability is enabled, the master device can stop occupying the second service of the target device capability and reacquire the enable status information. The master device can stop the second service and release the target device capability in cases where the service priority of the first service is higher than the service priority of the second service or the device priority of the master device is higher than the device priority of another electronic device, so as to continue to enable the target device capability and call the target device capability to continue to collaboratively process the first service.
[0035] Secondly, an enabling device for device capability is provided, the device comprising:
[0036] The acquisition module is used to acquire the enable status information of the target device capability according to the first service to be processed, wherein the target device capability is the device capability of the auxiliary device for processing the first service;
[0037] An enabling module is used to enable the target device capability when the enabling status information indicates that the target device capability is not enabled, so as to invoke the target device capability to process the first service.
[0038] Optionally, the device further includes an update module, configured to update the enable status information of the target device capability to "enabled" when the target device capability is successfully enabled.
[0039] Optionally, the update module is specifically used to update the enable status information of the target device capability stored in the auxiliary device to enabled; and / or to update the enable status information of the target device capability stored in the master device to enabled.
[0040] Optionally, the acquisition module is specifically used to acquire the enable status information of the target device's capabilities from the auxiliary device according to the service type of the first service.
[0041] Optionally, the acquisition module is specifically used to acquire the enable status information pre-stored in the main device when the enable status information of the target device capability is pre-stored in the main device; and to acquire the enable status information from the auxiliary device when the enable status information of the target device capability is not stored in the main device.
[0042] Optionally, the update module is specifically used to update the enable status information of the target device capability to enabled by creating another thread.
[0043] Optionally, the acquisition module is further configured to acquire the enable status information again after a preset time interval when the enable status information indicates that the target device capability has been enabled, and enable the target device capability when the enable status information indicates that the target device capability has not been enabled.
[0044] Optionally, the enabling module is further configured to enable the target device capability again if the number of times the target device capability has been enabled is not higher than a preset number of times when the target device capability fails to be enabled.
[0045] Optionally, the enabling module is further configured to disable the target device capability when the enabling status information indicates that the target device capability is enabled.
[0046] Optionally, the acquisition module is further configured to stop the second service and reacquire the enable status information when the enable status information indicates that the target device capability is enabled, wherein the second service is a service that occupies the target device capability.
[0047] Thirdly, an electronic device is provided, comprising: one or more processors and one or more memories; the one or more processors being coupled to the one or more memories, the one or more memories being used to store computer program code, the computer program code including computer instructions, which, when executed by the one or more processors, cause the electronic device to perform the method as described in the first aspect.
[0048] Fourthly, a readable storage medium is provided, wherein a computer program product is stored therein, the computer program product including computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in the first aspect.
[0049] Fifthly, a chip system is provided, the chip system being applied to an electronic device, the chip system including one or more processors, the processors being configured to invoke computer instructions to cause the electronic device to perform the method as described in the first aspect.
[0050] In a sixth aspect, a computer program product is provided, including computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in the first aspect. Attached Figure Description
[0051] Figure 1A schematic diagram of the architecture of an electronic device provided in an embodiment of this application is shown.
[0052] Figure 2 A schematic diagram of a multi-device collaborative system provided in an embodiment of this application is shown.
[0053] Figure 3 A schematic diagram of another multi-device collaborative system provided in an embodiment of this application is shown.
[0054] Figure 4 A schematic diagram of the architecture of an electronic device provided in an embodiment of this application is shown.
[0055] Figure 5 A schematic diagram of the hardware structure of an electronic device suitable for the above method is shown.
[0056] Figure 6 A flowchart illustrating the steps of a device capability enabling method provided in an embodiment of this application is shown.
[0057] Figure 7 This illustration shows a schematic diagram of an enabling process for a device capability provided in an embodiment of this application.
[0058] Figure 8 This illustration shows an interactive diagram of a device capability enabling process provided in an embodiment of this application.
[0059] Figure 9 This document illustrates an enable flowchart for a device capability provided in an embodiment of this application.
[0060] Figure 10 A structural block diagram of an enabling device for device capability provided in an embodiment of this application is shown.
[0061] Figure 11 A schematic diagram of the structure of an electronic device provided in an embodiment of this application is shown. Detailed Implementation
[0062] The technical solutions of this application will now be described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them.
[0063] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0064] The term "comprising" in this document indicates the presence of the described feature, whole, step, operation, element, and / or component, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or collections thereof. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0065] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of this application, unless otherwise stated, "a plurality of" means two or more.
[0066] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0067] The term "embodiment" as used herein means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0068] The enabling method for device capabilities provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0069] This application provides a method for enabling device capabilities, which is applied to a multi-device collaborative system. The system includes multiple electronic devices that can establish communication connections with each other via wired or wireless means.
[0070] For example, electronic devices can establish wired connections via a universal serial bus (USB). Alternatively, multiple electronic devices can establish wireless connections via wireless local area networks (WLANs), Bluetooth networks, Zigbee networks, infrared (IR) technology, or near field communication (NFC) networks.
[0071] Electronic devices include, but are not limited to, mobile phones, tablets, smart TVs, smart speakers, laptops, ultra-mobile personal computers (UMPCs), handheld computers, netbooks, personal digital assistants (PDAs), wearable devices, in-vehicle devices, and virtual reality devices.
[0072] In a multi-device collaborative system, electronic devices can share capabilities and collaboratively process the same task after mutual authentication. For example, electronic devices can authenticate each other using logged-in system accounts; authentication is successful when two devices share the same system account. The method of mutual authentication between electronic devices can be configured according to specific requirements, and this embodiment does not impose any limitations on it.
[0073] Here, a service refers to a specific task processed by an electronic device, such as a voice call service, a system prompt service that outputs system prompt tones, an audio playback service that plays music, or a video playback service that plays videos, but it is not limited to these.
[0074] Device capabilities can also be referred to as device functions, such as the ability to play and record audio data, the ability to play video data, and the ability to perform location tracking, but these are not limited to these. It is understood that some device capabilities can be further subdivided into multiple capabilities; for example, audio capabilities include audio playback and audio recording capabilities, and video capabilities include video playback and video recording capabilities.
[0075] Generally, when an electronic device has relevant hardware modules and corresponding software, it possesses the corresponding device capabilities. For example... Figure 1 As shown, Figure 1 This illustration shows an architectural diagram of an electronic device according to an embodiment of this application. The operating system (OS) of the electronic device can adopt a layered architecture, including... Figure 1 The application layer, framework layer, hardware abstraction layer (HAL) shown are examples, but not limited to these.
[0076] The application layer includes a series of application (APP) packages, which are simply called applications, for example... Figure 1 The audio and video applications shown, as well as calling, navigation, and social applications not shown, are included, but are not limited to these.
[0077] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer.
[0078] HAL (Hardware Access Layer) is responsible for interacting with various hardware modules in the hardware layer. The HAL layer hides the implementation details of each hardware module while providing the operating system with interfaces to call these modules. The HAL layer provides HALs corresponding to different hardware modules, such as... Figure 1 The audio HAL shown, as well as modem HAL, camera HAL, and display HAL not shown, are not limited to these.
[0079] The hardware layer includes the hardware modules present in the electronic device, such as... Figure 1 The speaker, microphone, and camera shown, as well as the display screen, earpiece, power module, and communication module not shown, are included, but are not limited to these.
[0080] It should be noted that the operating system of electronic devices can also adopt other architectures, such as event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. The operating system can also include other layers, such as the kernel layer and system library layer, but is not limited to these.
[0081] Taking audio capabilities as an example, electronic devices have related hardware modules such as speakers and microphones, while the operating system has various software modules set up to realize audio functions, thus enabling electronic devices to have audio playback and audio recording capabilities.
[0082] The software modules consist of Figure 1 The audio framework 1 shown is included. The audio framework 1 may include, but is not limited to, an audio manager (AudioManager), an audio player (AudioTrack or MediaPlayer), an audio recorder (AudioRecord), and an audio processor (AudioFlinger).
[0083] For example, when an audio application needs to play audio data, it can invoke an audio player to play the audio data. Specifically, the audio application can input raw audio data into the audio player, which will then process the raw audio data through parsing, de-encapsulation, or decoding to obtain pulse code modulation (PCM) data. Alternatively, the audio application can directly output PCM data to the audio player. The audio player can then send the audio data to the audio processor.
[0084] The audio processor can process audio data according to the audio playback policy output by the audio manager. For example, the audio manager may include an audio service (AudioService) and an audio policy (AudioPolicy) module. At runtime, the audio application can call the audio service to notify the audio policy module to set the audio playback policy when outputting audio data, such as volume, audio data sampling rate, sound effects settings, and mixing settings.
[0085] The audio strategy module provides the audio processor with corresponding audio playback strategies in real time during audio playback. This allows the audio processor to perform mixing, resampling, and sound effect settings on the audio data output from the audio player according to the audio playback strategy. The processed audio data is the audio data to be played. The audio processor can call the audio HAL to output the audio data to be played to the speaker, and the speaker converts the audio data to be played into a sound signal before outputting it.
[0086] For example, when an audio application needs to collect audio data, it can call an audio recorder, which in turn calls the audio HAL to obtain the audio data captured by the microphone. Similarly, the audio policy module can output an audio recording policy to the audio processor, which can process the recorded audio data according to the policy and then output the processed audio data to the audio application through the audio recorder.
[0087] The above is a brief introduction to the device capabilities of electronic devices, taking audio capabilities as an example. For an understanding of other device capabilities of electronic devices, please refer to relevant technologies. This embodiment will not elaborate on them here.
[0088] Figure 2 The diagram shows a multi-device collaborative system provided in an embodiment of this application. The multi-device collaborative system 2 includes a mobile phone 21 and a tablet computer 22. The system may also include other types of electronic devices such as smart TVs, smart speakers, and laptops. This embodiment does not limit this.
[0089] Taking voice call service as an example, during the collaborative processing of voice call service by mobile phone 21 and tablet computer 22, tablet computer 22 can act as an auxiliary device to provide audio capabilities to mobile phone 21, which is the main device.
[0090] Taking one application scenario as an example, mobile phone 21 and tablet computer 22 are located in different rooms. If another mobile phone (the peer device) makes a call to mobile phone 21, mobile phone 21 can display [the caller ID] after receiving the call notification. Figure 2The incoming call notification interface 211 is shown. Simultaneously, mobile phone 21 can send information such as the other device's phone number, location, username, and dual-tone multi-frequency (DTMF) signaling to tablet computer 22, allowing tablet computer 22 to simultaneously receive and display incoming call notifications. Figure 2 The floating window 221 shown.
[0091] Figure 3 This illustration shows a schematic diagram of another multi-device collaborative system provided in an embodiment of this application, combined with... Figure 1 When the user clicks the answer control 222 in the floating window 221, the tablet computer 22 responds to the click operation, displays the call answer interface 223, and sends an answer command to the mobile phone 21. Correspondingly, the mobile phone 21 responds to the answer command and displays the call answer interface 213. At this time, the mobile phone 21 and the tablet computer 22 begin to collaboratively handle the call.
[0092] During a call, when mobile phone 21 receives downlink audio data from the peer device, it sends downlink audio data to tablet computer 22, which then plays the downlink audio data. Simultaneously, tablet computer 22 can collect the user's voice signal, obtain uplink audio data, and send the uplink audio data to mobile phone 21, which then sends the uplink audio data to the peer device.
[0093] For ease of distinction, in this embodiment, the electronic device providing device capabilities is referred to as the auxiliary device, and the electronic device calling the device capabilities is referred to as the primary device. For example, the tablet computer 22 providing audio capabilities is referred to as the auxiliary device, and the mobile phone 21 calling the audio capabilities is referred to as the primary device. In practical applications, the primary device and auxiliary device can also be referred to by other names, such as the primary device can also be called the source device or the first electronic device, and the auxiliary device can also be called the target device or the second electronic device. This embodiment does not impose any restrictions on this.
[0094] The above describes the collaborative processing process between multiple electronic devices using the call service as an example. The collaborative processing process of other services is the same as or similar to that of the call service, and will not be described in detail here.
[0095] Figure 4 This illustration shows a schematic diagram of the architecture of an electronic device according to an embodiment of this application. Figure 4 The left side shows the architecture diagram of the main device, such as mobile phone 21, and the right side shows the architecture diagram of the auxiliary device, such as tablet computer 22.
[0096] Taking the iPhone 21 as an example, its operating system includes an application layer, a service layer, a device connectivity layer, a device virtualization layer, and a hardware abstraction layer. The service layer, device connectivity layer, and device virtualization layer can be located in... Figure 1 The framework layer shown.
[0097] The application layer includes multiple different application (APP) packages, hereinafter referred to as applications. Applications include, but are not limited to, calling applications, video applications, and navigation applications. Different applications are used to initiate and handle different services; for example, a calling application initiates and handles calling services, while a video application initiates and handles video playback services.
[0098] The service layer provides service support for applications in the application layer. For example, for a calling application, the service layer can set up a calling framework and cellular calling services. The calling framework and cellular calling services can provide service support for the calling application, enabling functions such as caller ID, call routing, voicemail, and video conferencing.
[0099] Furthermore, the service layer also includes call continuation services and a collaborative control center, which provide service support for the flow of business between primary and secondary devices. For example, for call services, the service layer has a call continuation service that connects to the call application and can monitor the application. When the application is detected to have started a call service, the call continuation service and the collaborative control center can identify the secondary device that supports the call service from multiple online devices and interact with the call continuation service on the secondary device to send a simultaneous vibration notification. The simultaneous vibration notification includes information such as the phone number, location, username, and call signaling. The simultaneous vibration notification allows both the secondary and primary devices to display the incoming call notification simultaneously.
[0100] This can be understood as the ability to configure different continuity services within the service layer for different applications, supporting the flow of different services between the primary and secondary devices. For example, for video playback services, a video continuity service can be configured within the service layer.
[0101] The device connectivity layer is used to provide communication support for the collaboration of different electronic devices, and may include... Figure 4 The security module, management module, connection module, discovery module, storage module, and communication module shown are examples, but not limited to these.
[0102] The device virtualization layer provides functional support for collaboration between devices. It can also be called a collaboration module, such as a distributed mobile sensing development platform (DMSDP). A DMSDP can be composed of different virtualization units, for example... Figure 4The virtualization units shown, such as audio virtualization, display virtualization, and camera virtualization, are used to support the sharing of different device capabilities between devices. For example, audio virtualization is used to support the sharing of audio capabilities between mobile phone 21 and tablet computer 22, while display virtualization is used to support the sharing of video playback capabilities between mobile phone 21 and tablet computer 22.
[0103] When a device acts as the primary device, the collaboration module supports the primary device in accessing the capabilities of the secondary device. When a device acts as the secondary device, the collaboration module supports the secondary device in providing its capabilities to the primary device. Each device capability has a corresponding capability identifier, also known as a service identifier. The service identifier indicates the service that the secondary device can provide to the primary device; a service is the device capability that can be provided to the primary device. The collaboration module can distinguish the device capabilities possessed by different devices through different service identifiers and achieve the sharing of device capabilities through these service identifiers.
[0104] For example, audio playback capability and audio recording capability each have different service identifiers. The service identifier for audio playback capability indicates the device's audio playback capability, while the service identifier for audio recording capability indicates the device's audio recording capability. Audio capabilities also have corresponding service identifiers, which represent both the device's audio playback capability and audio recording capability.
[0105] The hardware abstraction layer (HAL) is used to provide data support for collaborative modules, enabling them to obtain business data through interfaces in the HAL.
[0106] Taking voice call services as an example, the service data includes uplink audio data and downlink audio data. The HAL (Hardware Abstraction Layer) contains an audio hardware abstraction layer (Audio HAL), which includes software modules to support audio capability calls. These software modules can be named virtual audio modules or other names. The virtual audio module can obtain downlink audio data from the audio digital signal processing (ADSP) in the hardware layer and provide it to the coordination module. Simultaneously, the virtual audio module can output uplink audio data during the call to the ADSP.
[0107] The hardware layer includes, but is not limited to, the various hardware modules that electronic devices possess, such as speakers, microphones, ADSPs, modems, cameras, and displays.
[0108] The architecture of the tablet computer 22 is the same as or similar to that of the mobile phone 1, and will not be described in detail here.
[0109] In practical applications, before the primary device can invoke the capabilities of the secondary device, it must first enable the secondary device's capabilities to ensure they are available. This allows the primary device to invoke the secondary device's capabilities to process corresponding business requests. It is understood that in this embodiment, invoking the secondary device's capabilities refers to using those capabilities to collaboratively process business requests with the secondary device.
[0110] Taking the aforementioned call service as an example, before the mobile phone 21 starts to work with the tablet computer 22 to process the call service, the mobile phone 21 needs to enable the audio capabilities of the tablet computer 22 to make the audio capabilities of the tablet computer 22 available, that is, the audio playback capabilities and audio recording capabilities of the tablet computer 22 are available.
[0111] For example, during the audio capability enabling process, mobile phone 21 can register the device identifier and audio capability service identifier of tablet computer 22 into its DMSDP. The device identifier indicates that tablet computer 22 can provide the necessary device capabilities to mobile phone 21, and the service identifier indicates that tablet computer 22 can provide audio capabilities to mobile phone 21. Simultaneously, mobile phone 21 can establish a control channel between itself and tablet computer 22, which is used to transmit control information between them. Furthermore, mobile phone 21 can register a communication interface corresponding to tablet computer 22 in the virtual audio module. This communication interface can be a callback function, allowing DMSDP to write uplink audio data to the hardware-layer ADSP or retrieve downlink audio data from the ADSP.
[0112] After registering the device identifier and audio capability service identifier of tablet computer 22 in DMSDP, establishing the control channel between mobile phone 21 and tablet computer 22, and registering the corresponding communication interface of tablet computer 22 in the virtual audio module, the audio capability of tablet computer 22 is enabled.
[0113] After successful enabling, mobile phone 21 and tablet computer 22 can begin to collaboratively process call services. Specifically, the DMSDP of mobile phone 21 can interact with the DMSDP of tablet computer 22 through the control channel to establish uplink and downlink data channels between them. At the same time, tablet computer 22 can create an audio player and audio processor for playing downlink audio data, and an audio recorder for recording uplink audio data.
[0114] At this time, the modem of mobile phone 21 receives downlink audio data sent by the peer device and transmits the downlink audio data to ADSP. The virtual audio module obtains the downlink audio data from ADSP. The DMSDP of mobile phone 21 can obtain downlink audio data from the virtual audio module through the communication interface registered during the enabling process, and send the downlink audio data to tablet computer 22 through the downlink data channel.
[0115] Simultaneously, when the tablet computer 22 records uplink audio data, it sends the uplink audio data to the mobile phone 21 through the uplink data channel. Upon receiving the uplink audio data, the mobile phone 21's DMSDP can call the communication interface to output the uplink audio data to the virtual audio module. The virtual audio module outputs the uplink audio data to the ADSP, the ADSP outputs the uplink audio data to the modem, and the modem sends the uplink audio data to the peer device.
[0116] When tablet computer 22 receives downlink audio data, its DMSDP inputs the downlink audio data to the audio player, which processes the data and then inputs the processed data to the audio processor. The audio processor processes the input audio data according to the audio playback strategy output by the audio manager to obtain the audio data to be played, and then inputs the audio data to be played to the speaker of tablet computer 22 for playback. Simultaneously, tablet computer 22's DMSDP can call the audio recorder and audio processor to acquire sound signals collected by the microphone, process them to obtain uplink audio data, and send the uplink audio data to mobile phone 21.
[0117] It is understandable that, in the process of collaboratively processing call services, the audio virtualization in the DMSDP of mobile phone 21 and the audio virtualization in the DMSDP of tablet computer 22 can be specifically responsible for collaboratively processing call services, while the collaborative processing of other services can be implemented by other virtualization units.
[0118] The above are merely exemplary examples of the device capability enabling process and do not constitute a specific limitation on the device capability enabling process. After enabling, the corresponding device capability can be made available. This embodiment does not impose specific limitations on the device capability enabling process.
[0119] As electronic technology advances, the capabilities of electronic devices continuously increase, enabling main and auxiliary devices to collaboratively handle different tasks. Different tasks may utilize different capabilities of the auxiliary devices, or they may use the same capability. When multiple tasks start simultaneously and require access to the same capability of the auxiliary devices, task conflicts arise, leading to the duplicate activation of the device capability.
[0120] For example, mobile phone 21 and tablet computer 22 can collaboratively handle call services and system notification services. When collaboratively handling call services, mobile phone 21 needs to utilize the audio capabilities of tablet computer 22, including audio playback and recording capabilities. Similarly, when collaboratively handling system notification services, mobile phone 21 needs to utilize the audio playback capabilities of tablet computer 22. When call services and system notification services are activated simultaneously, mobile phone 21 needs to enable the audio capabilities of tablet computer 22 based on the call service, and also needs to enable the audio playback capabilities of tablet computer 22 based on the system notification service. In this case, there is a service conflict between call services and system notification services. If mobile phone 21 enables the audio capabilities of tablet computer 22 based on one service that has started earlier, and the other service requires re-enabling the audio capabilities of tablet computer 22 when it starts, this will result in the audio capabilities of tablet computer 22 being enabled repeatedly.
[0121] Repeated enabling of device capabilities may cause anomalies in pre-started services, and the simultaneous enabling of the same device capability by multiple services does not meet user requirements. Therefore, there is an urgent need for a device capability enabling method to resolve the business conflict problem during the device capability enabling process.
[0122] This application provides a method for enabling device capabilities. It sets enable status information for the capabilities of electronic devices, which reflects whether the capability is enabled or disabled. When enabling a device capability, the enable status information is first queried. If the enable status information indicates that the capability is disabled, the capability is enabled. Conversely, if the enable status information indicates that the capability is already enabled, the capability is not enabled. This method resolves business conflicts during the capability enabling process and prevents the capability from being repeatedly enabled.
[0123] Figure 5 A schematic diagram of the hardware structure of an electronic device suitable for the above method is shown. The electronic device 5 may include a processor 51, a wireless communication module 52, an audio module 53, a mobile communication module 54, a display screen 55, a storage module 56, and a power supply module 57. The electronic device may also include a microphone 531, a receiver 532, a speaker 533, antennas 1 and 2, as well as a sensor module, a universal serial bus (USB) interface, an external memory interface, buttons, a motor, indicators, a subscriber identification module (SIM) card interface, etc., but is not limited thereto.
[0124] The processor 51 may include one or more processing units. For example, the processor 51 may include at least one of the following processing units: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, and neural network processing unit (NPU). Different processing units may be independent devices or integrated devices.
[0125] The wireless communication module 52 can provide wireless communication solutions such as wireless local area networks (WLAN), Bluetooth, and near-field communication on the application electronic device 5, but is not limited to these. The wireless communication module 52 can be one or more devices integrating at least one communication processing module. The wireless communication module 52 receives electromagnetic waves via antenna 1, performs frequency modulation and filtering of the electromagnetic wave signal, and sends the processed signal to processor 51. The wireless communication module 52 can also receive signals to be transmitted from processor 51, perform frequency modulation and amplification on them, and convert the signal into electromagnetic waves that are radiated out via antenna 1.
[0126] Electronic device 5 can perform audio processing functions, such as audio playback and audio recording, through audio module 53, microphone 531, receiver 532, speaker 533, and application processor.
[0127] The audio module 53 is used to convert an audio stream into an analog sound signal for output, and can also be used to convert an analog sound signal into an audio stream. In some embodiments, the audio module 53 or some functional modules of the audio module 53 may be located in the processor 51.
[0128] Microphone 531, also known as a "microphone" or "microphone", is used to convert sound signals into audio streams.
[0129] The receiver 532, also known as the "earpiece," is used to convert audio streams into sound signals. When the electronic device 5 receives a telephone call or voice message, the receiver 533 can be brought close to the ear to hear the voice.
[0130] The speaker 533, also known as a "loudspeaker," is used to convert audio streams into sound signals for output. For example, an audio stream in PCM format. When an application in an electronic device plays an audio file, it first decodes the audio file to obtain a PCM audio stream, and then sends the PCM audio stream to the speaker 533, which converts it into a sound signal for output.
[0131] The mobile communication module 54 can provide second-generation (2G), third-generation (3G), fourth-generation (5G), and fifth-generation (5G) mobile communication solutions for use in electronic device 5. The mobile communication module 54 may include at least one filter, switch, power amplifier, low-noise amplifier (LNA), etc. The mobile communication module 54 can receive electromagnetic waves via antenna 2, and perform filtering and amplification on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 54 can also amplify the signal modulated by the modem processor, and the amplified signal is then converted into electromagnetic waves and radiated out via antenna 2.
[0132] Electronic device 5 can display images through a GPU, a display screen 55, and an application processor, enabling it to have video playback and image display capabilities. The GPU is a microprocessor for image processing, connected to the display screen 55 and the application processor. The GPU performs mathematical and geometric calculations and is used for graphics rendering. Processor 51 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0133] Storage module 56 is used to store instructions and data; for example, storage module 56 is a cache memory. Storage module 56 can store instructions or data that the processor 51 has just used or that are being used repeatedly. If the processor 51 needs to use the instruction or data again, it can directly retrieve it from storage module 56. This avoids repeated accesses, reduces the processor 51's waiting time, and thus improves system efficiency.
[0134] The processor 51 and the storage module 56 can be combined into a single processing device, but more commonly they are independent components. In specific implementations, the storage module 56 can be integrated into the processor 51, or it can be independent of the processor 51.
[0135] The power module 57 is used to provide power to various devices or circuits in the electronic device 5, and may include a charging management unit, a power management unit, and a battery.
[0136] It should be noted that, Figure 5 The connection relationships between the modules shown are merely illustrative and do not constitute a limitation on the connection relationships between the modules of electronic device 5. Optionally, the modules of electronic device 5 may also adopt a combination of various connection methods described in the above embodiments. Figure 5 The structure shown does not constitute a specific limitation on electronic device 5. Electronic device 5 may include, but is not limited to, other electronic devices. Figure 5 The components shown may include more or fewer components, or the electronic device 5 may include... Figure 5 The components shown may be a combination of certain components, or the electronic device 5 may include... Figure 5 Sub-components of some of the components shown. Figure 2 The components shown can be implemented in hardware, software, or a combination of software and hardware.
[0137] Figure 6 This application provides a flowchart illustrating the steps of a device capability enabling method according to an embodiment of the present application. This method is implemented by a master device in a multi-device collaborative system and may include:
[0138] Step 601: The master device obtains the enable status information of the target device's capabilities based on the first service to be processed.
[0139] The first service is the service to be processed, and the target device capability is the equipment capability of the auxiliary device for processing the first service. The first service can be a service of the default service type, which is a service that can be processed collaboratively by the main device and the auxiliary device.
[0140] In this embodiment, after the master device starts the first service, it first obtains the enable status information of the target device capability required to process the first service, and then determines whether to enable the target device capability based on the enable status information.
[0141] Using the above example, in the case where the call service is the default service type, after receiving an incoming call notification, the call continuation service on mobile phone 21 interacts with the call continuation service on tablet computer 22. Mobile phone 21 displays the incoming call notification interface 211, and tablet computer 22 displays a floating window 221. After receiving a click operation from the user on the answer control 222, tablet computer 22 sends an answer command to mobile phone 21. Correspondingly, after receiving the answer command, mobile phone 21 determines that the user needs to use tablet computer 22 to make the call.
[0142] Furthermore, upon receiving an answer command, if the call continuation service in mobile phone 21 determines that DMSDP is not enabled, it will trigger DMSDP to start and send a notification message to DMSDP. Alternatively, the call continuation service in mobile phone 21 may send a notification message to DMSDP after determining that DMSDP is enabled.
[0143] Similarly, the call continuation service in tablet 22 can respond to a user's click action by triggering DMSDP to start and sending a notification message to DMSDP if it is determined that DMSDP is not started on tablet 22. Alternatively, the call continuation service in tablet 22 can send a notification message to DMSDP after determining that DMSDP is started on tablet 22.
[0144] It is understandable that before acquiring the enabled state of the target device's capabilities, the master device has already identified the auxiliary device that can collaboratively process the first service. The auxiliary device is the target electronic device, which has the capability of the target device to process the first service.
[0145] Optionally, the master device can obtain the enable status information of the target device's capabilities from the auxiliary device based on the service type of the first service.
[0146] In one implementation, the electronic device (main device and auxiliary device) can store enable status information of its capabilities. This enable status information may include a first state and a second state. The first state indicates that the device capability is disabled, meaning the capability is not being used by a service; the second state indicates that the device capability is enabled, meaning the capability is being used by a service. The specific form of the enable status information may include, but is not limited to, the examples described above.
[0147] For example, after the tablet computer 22 is powered on, the management module in the tablet computer 22 can detect the device capabilities of the tablet computer 22 and store the service identifier of each device capability in the dynamic library of the tablet computer 22. At the same time, the tablet computer 22 can set corresponding enable status information for each device capability. When powered on, the enable status information is in the first state, and the enable status information and the service identifier are stored in the dynamic library accordingly.
[0148] Specifically, after enabling the capabilities of any electronic device in collaborative processing, the tablet computer 22 can update the device capability's enabling status information to a second state. Furthermore, after the service is completed, the tablet computer 22 can update the device capability's enabling status information to a first state.
[0149] In this embodiment, when the master device obtains the enable status information of the target device's capabilities, it can obtain the enable status information of the target device's capabilities from the auxiliary device according to the service type of the first service. Referring to the above example, after receiving the notification information sent by the call continuation service, the DMSDP of mobile phone 21 can parse the service identifier from the notification information and send a query request to tablet computer 22, the query request including the service identifier.
[0150] Correspondingly, after receiving a query request, the DMSDP of the tablet computer 22 can determine, based on the service identifier in the query request, that the target device capability corresponding to the service type indicated by the service identifier is an audio capability. Furthermore, the DMSDP of the tablet computer 22 can obtain the enable status information of the audio capability corresponding to the service identifier from the dynamic library, and then send the enable status information of the audio capability to the mobile phone 21.
[0151] In one implementation, the call connection service can obtain the enable status information of the target device's capabilities from the auxiliary device. For example, the call connection service of mobile phone 21 can send a query request to tablet computer 22, and the call connection service of tablet computer 22 can respond to the query request, obtain the enable status information of the audio capabilities of tablet computer 2 pre-stored on tablet computer 2, and send the enable status information of the audio capabilities of tablet computer 2 to the call connection service of mobile phone 21.
[0152] In this embodiment, the electronic device stores the enable status information of its capabilities and updates this information promptly according to the business processing flow. When a device capability is enabled, the enable status information is updated to a first state; when the business ends, the enable status information is updated to a second state. When the master device obtains the enable status information of the target device capability, it obtains this information from the auxiliary device, thus acquiring more accurate enable status information.
[0153] Optionally, if the master device has pre-stored the enable status information of the target device's capabilities in the master device, it obtains the pre-stored enable status information; if the master device does not store the enable status information of the target device's capabilities in the master device, it obtains the enable status information from the auxiliary device.
[0154] In one implementation, in a multi-device collaborative system, each electronic device can push enable status information to the other electronic devices, and when the service identifier changes, the changed enable status information can be pushed to other electronic devices in a timely manner.
[0155] Based on the above example, after the tablet computer 22 is powered on and running, it can push device information of the tablet computer 22 to the online mobile phone 21. The device information includes the device identifier, device name, and device type of the tablet computer 22, as well as the service identifier for each device capability possessed by the tablet computer 22, and may also include the enabling status information of each device capability. Similarly, the mobile phone 21 can push its own device information to the tablet computer 22.
[0156] In this embodiment, after enabling audio capabilities and updating the audio capability enable status information to the second state when collaborating with any electronic device to process services, the tablet computer 22 can push the updated audio capability enable status information to the mobile phone 21, enabling the mobile phone 21 to update the pre-stored audio capability enable status information of the tablet computer 22. The method for updating the enable status information can be specifically configured according to requirements, and this embodiment does not impose any restrictions on it.
[0157] In this embodiment, the master device can first obtain the enable status information of the target device capability from the pre-stored device information. If the enable status information of the target device capability is pre-stored, then the master device obtains the enable status information of the target device capability. If the enable status information of the target device capability is not pre-stored, then the master device obtains the enable status information of the target device capability from the auxiliary device.
[0158] Based on the above example, after receiving the notification information and determining that the tablet computer 22 is a secondary device, the DMSDP of mobile phone 21 can search for the device information of tablet computer 22 from the device information of at least one electronic device stored in the dynamic library based on the device identifier of tablet computer 22. Furthermore, it can determine that the target device capability is audio capability based on the service identifier in the notification information, and search for the audio capability's enable status information from the device information of tablet computer 22.
[0159] When the DMSDP of mobile phone 21 fails to obtain the audio capability enable status information from the dynamic library of mobile phone 21, it can send a query request to tablet computer 22 to obtain the audio capability enable status information from tablet computer 22.
[0160] It should be noted that the storage method of enable status information may include, but is not limited to, the storage method in the above examples, and the method of obtaining enable status information may include, but is not limited to, the above examples. This embodiment does not impose any restrictions on these methods.
[0161] In this embodiment of the application, the electronic device can store the enabling status information of the device capabilities of other electronic devices in the multi-device collaborative system. When obtaining the enabling status information of the target device capability, the enabling status information of the target device capability is first obtained from the pre-stored information. Compared with obtaining the enabling status information from the auxiliary device, the efficiency of obtaining enabling information can be improved.
[0162] Step 602: When the enable status information indicates that the target device capability is not enabled, the master device enables the target device capability to call the target device capability to process the first service.
[0163] In this embodiment, after the master device obtains the enable status information of the target device's capability, if it determines that the target device's capability is not enabled based on the enable status information, it enables the target device's capability. Referring to the above example, after the mobile phone 21 obtains the enable status information of the audio capability, if it determines that the audio capability's enable status information is in the first state, it determines that the audio capability of the tablet computer 22 is not enabled. At this time, DMSDP can enable the audio capability of the tablet computer 22 based on the device identifier of the tablet computer 22 and the service identifier of the audio capability. The enabling process can be referred to the above example, and will not be elaborated here.
[0164] Optionally, the method may further include: disabling the target device capability when the enable status information indicates that the target device capability is enabled.
[0165] Based on the above example, when the mobile phone 21 determines that the audio capability of the tablet computer 22 is in the second state, it determines that the audio capability of the tablet computer 22 has been enabled. At this time, the DMSDP in the mobile phone 21 does not enable the audio capability of the tablet computer 22.
[0166] It should be noted that when the target device's capabilities are already enabled, the master device does not enable the target device's capabilities, and therefore does not cooperate with the auxiliary device to process business. In this case, the master device can process business according to the normal processing flow.
[0167] For example, regarding call services, after determining that the audio capability of the tablet 22 is enabled, the mobile phone 21 does not enable the audio capability of the tablet 22, and the mobile phone 21 can process the call service according to the normal processing procedure. Specifically, after the audio capability of the tablet 22 is not enabled, if the mobile phone 21 receives an operation from the user clicking the answer control 212 within a certain period of time, it responds to the click operation by playing downlink audio data through the speaker of the mobile phone 21 and recording uplink audio data through the microphone of the mobile phone 21. If no operation from the user clicking the answer control 212 is received within a certain period of time, the call is hung up. The processing procedures for other services can be set according to the specific service settings, and this embodiment does not limit them.
[0168] Figure 7 This illustration shows a schematic diagram of an enabling process for a device capability provided in an embodiment of this application.
[0169] Based on the above example, after mobile phone 21 detects that the call service has started, it executes step 71 to send a query request to tablet computer 22 in order to obtain the audio capability enable status information of tablet computer 22.
[0170] Correspondingly, after receiving the query request, the tablet computer 22 determines the audio capability enable status information from the dynamic library and sends the audio capability enable status information to the mobile phone 21.
[0171] After receiving the enable status information sent by the tablet computer 22, the mobile phone 21 executes step 72, determining the enable status of the audio capability based on the enable status information. If the enable status information is in the first state, it is determined that the audio capability of the tablet computer 22 is not enabled, and step 73 is executed; if the enable status information is in the second state, it is determined that the audio capability of the tablet computer 22 is enabled, the enable process ends, and the audio capability is not enabled. After the enable process ends, call services can be processed according to the normal procedure.
[0172] In step 73, the mobile phone 21 enables the audio capabilities of the tablet computer 22.
[0173] After executing step 73, mobile phone 21 executes step 74. If it is determined that the audio capability of tablet computer 22 is successfully enabled, then step 75 is executed. If it is determined that the audio capability of tablet computer 22 fails to be enabled, then the enabling process ends. After the enabling process ends, call services can be processed according to the normal procedure.
[0174] In step 75, the mobile phone 21 updates the audio capability enable status information of the tablet computer 22, changing the audio capability enable status information of the tablet computer 22 from the first state to the second state.
[0175] Figure 8 This illustration shows an interactive diagram of a device capability enabling process provided in an embodiment of this application.
[0176] Taking the aforementioned call service as an example, after mobile phone 21 starts up, the call continuation service executes step 81, which involves monitoring the call application. After the call application receives an incoming call notification, the call continuation service executes step 82, which involves sending a notification message to the audio virtualization in DMSDP.
[0177] Upon receiving the notification information, the audio virtualization performs step 83, sending a request message to the device module in the DMSDP so that the device module can obtain the audio capability enable status information of the tablet computer 22 from the tablet computer 22.
[0178] After receiving the request information, the device module executes step 84 and sends a query request to the tablet computer 22.
[0179] After receiving the query request, the audio virtualization in the tablet computer 22 performs step 85, which retrieves the audio capability enable status information from the dynamic library of the tablet computer 22 according to the service identifier in the query request.
[0180] Upon obtaining the enable status information, the audio virtualization process in the tablet 22 executes step 86, sending the enable status information to the device module.
[0181] When the device module receives the enable status information, it executes step 87 to send the enable status information to the audio virtualization in the mobile phone 21.
[0182] When the audio virtualization in mobile phone 21 determines that the audio capability is not enabled based on the received enable status information, it executes step 88 to send an enable command to the device module.
[0183] Correspondingly, the device module responds to the enable command and executes step 89 to enable the audio capability.
[0184] After successful enabling, the device module executes step 810, sending an enabling success notification to the audio virtualization in the mobile phone 21. Simultaneously, it executes step 811, sending an enabling success notification to the tablet computer 22.
[0185] After receiving the enable success notification, the audio virtualization in mobile phone 21 executes step 813, sending an enable success notification to the call continuation service to notify the call continuation service that the audio capability has been successfully enabled.
[0186] After receiving the enable success notification, the audio virtualization in tablet 22 executes step 812 to update the enable status information in the dynamic library.
[0187] Understandable, Figure 8 The device module shown is used to interact with each virtualization unit in DMSDP to obtain the enable status information of the device capabilities required by each virtualization unit, and to enable the device capabilities upon receiving the corresponding enable command. The specific form of the request information and enable command can be set according to requirements; this embodiment does not impose any restrictions on this.
[0188] Figure 8 This is merely an exemplary example of the device capability enabling process and does not constitute a specific limitation on the device capability enabling process. The process by which the main device enables the target device capability can be specifically set according to requirements, and this embodiment does not impose any limitations on it.
[0189] Optionally, the method may further include: after the master device enables the capability of the target device, when the capability of the target device is successfully enabled, updating the enable status information of the target device capability to "enabled".
[0190] In one implementation, after the master device enables and successfully enables the target device capability of the auxiliary device, it can update the enabling status of the target device capability and update the enabling status information to "enabled".
[0191] Based on the above example, after successfully establishing a control channel with mobile phone 21, tablet computer 22 can send a success notification to mobile phone 21, informing mobile phone 21 that the enabling process on the tablet computer side is complete. After successfully establishing a control channel with tablet computer 22, successfully registering the device identifier and audio capability service identifier of tablet computer 22, and successfully registering the communication interface of tablet computer 22, mobile phone 21 determines that the enabling process on the mobile phone side is complete. After confirming that the enabling process on the mobile phone side is complete and receiving the enabling success notification from tablet computer 22, mobile phone 21 determines that the audio capability of tablet computer 22 is successfully enabled. At this point, mobile phone 21 can update the enabling status information of the audio capability of tablet computer 22.
[0192] Optionally, when updating the enable status information of the target device's capabilities, the master device can update the enable status information of the target device's capabilities stored in the auxiliary device to show that it is enabled.
[0193] In one implementation, when the master device updates the enable status information of the target device's capabilities, it can update the enable status information of the target device's capabilities stored in the auxiliary device.
[0194] For example, after determining that the audio capability of the tablet computer 22 is successfully enabled, the mobile phone 21 can send an update notification to the tablet computer 22. The update notification includes the service identifier of the audio capability of the tablet computer 22 and the updated enable status information (the updated enable status information is the second state). The service identifier is, for example, the hardware identifier of the speaker and microphone.
[0195] Correspondingly, after receiving the update notification, the tablet computer 22 can obtain the service identifier and enable status information from the update notification, and then update the enable status information of the audio capability stored in the tablet computer 22 to the second status according to the service identifier.
[0196] It should be noted that the methods for updating the enable status information in the auxiliary equipment by the master equipment may include, but are not limited to, the above.
[0197] Optionally, when updating the enable status information of the target device's capabilities, the master device can update the enable status information of the target device's capabilities stored in the master device to "enabled".
[0198] In one implementation, when updating the enable status information of the target device's capabilities, the master device can update the pre-stored enable status information of the target device's capabilities.
[0199] Based on the above example, the audio capability enable status information received by the mobile phone 21 from the tablet computer 22 is in the first state, and the mobile phone 21 stores the audio capability enable status information in the dynamic library as the first state. After determining that the audio capability of the tablet computer 22 is successfully enabled, the mobile phone 21 can look up the device information corresponding to the device identifier of the tablet computer 22 in the dynamic library according to the device identifier of the tablet computer 22, and then update the audio capability enable status information in the device information to the second state.
[0200] The method by which the master device updates the enable status information stored in the master device can be set according to requirements, and this embodiment does not impose any restrictions on it.
[0201] In this embodiment of the application, after the main device enables the device capability of the auxiliary device and enables it successfully, it updates the device capability enable status information stored in the auxiliary device. This allows the device capability enable status information to be updated to the auxiliary device in a timely manner, so that other electronic devices can obtain the latest enable status information from the auxiliary device in a timely manner.
[0202] Meanwhile, the master device can also update the pre-stored enable status information of the target device's capabilities. This makes it easier for the master device to process other services if it needs to call the target device's capabilities after starting other services.
[0203] Optionally, the master device can update the enable status information of the target device's capabilities to "enabled" through a newly created thread.
[0204] In one implementation, when the master device updates the enable status information of the target device's capabilities, it can update the enable status information of the target device's capabilities through a newly created thread to avoid blocking the main thread during the update of the enable status information.
[0205] Based on the above example, after DMSDP on mobile phone 21 starts, the main thread of DMSDP starts. The main thread obtains the enable status information of the audio capability of tablet computer 22, and enables the audio capability of tablet computer 22 when the enable status information indicates that the audio capability of tablet computer 22 is not enabled. After the main thread determines that the audio capability of tablet computer 22 is successfully enabled, it can create and start a new sub-thread and send an update notification to the sub-thread. The update notification includes the service identifier of the audio capability and the updated enable status information.
[0206] After receiving an update notification from the main thread, the child thread can send an update notification to the tablet computer 22, causing the tablet computer 22 to update the enable status information of the audio capabilities stored in the update notification based on the service identifier and enable status information. The child thread can also update the enable status information of the audio capabilities stored in the dynamic library of the mobile phone 21, updating the enable status information to the second state. The method by which the child thread updates the enable status information can be specifically configured according to requirements; this embodiment does not impose any restrictions on this.
[0207] It is understandable that the main thread can create child threads before or after successful enabling, and this embodiment does not impose any restrictions on this.
[0208] In this embodiment of the application, when updating the enable status information of the target device capability, another thread is started to update the enable status information, which can avoid the main thread being blocked during the process of updating the enable status information, thereby allowing the main thread to run smoothly.
[0209] Figure 9 This document illustrates an enable flowchart for a device capability provided in an embodiment of this application.
[0210] like Figure 9 As shown, the main thread is the DMSDP main thread in mobile phone 21. Referring to the example above, after the call continuation service listens for an incoming call notification, if it determines that DMSDP is not running, it triggers the start of the DMSDP main thread and executes step 91, sending a notification message to DMSDP. If it determines that the DMSDP main thread is running, it directly executes step 91, sending a notification message to DMSDP.
[0211] After the main thread of DMSDP starts, it executes step 92 to create and start a child thread. After the child thread starts, it can write the DMSDP status information into the dynamic library of mobile phone 21. The status information indicates whether DMSDP has started or not.
[0212] After the main thread executes step 94 and successfully enables the audio capability of the tablet computer 22, it executes step 95 to send an update notification to the child thread.
[0213] Correspondingly, after receiving the update notification, the child thread executes step 96 to update the enable status information. For example, it updates the enable status information of the audio capability stored in the dynamic library of tablet 22, and updates the enable status information of the audio capability of tablet 22 stored in the dynamic library of mobile phone 21.
[0214] Furthermore, after the audio capability of the tablet 22 is successfully enabled, the main thread can execute step 97 to send an enable success notification to the call continuation service, so as to notify the call continuation service that the target device capability has been successfully enabled.
[0215] Among them, the child thread can write DMSDP status information to the dynamic library of the mobile phone 21, which can avoid the main thread of DMSDP writing DMSDP status information to the dynamic library, thus avoiding the main thread being blocked when writing DMSDP status information.
[0216] Optionally, the method may further include: when the enable status information indicates that the target device capability is enabled, acquiring the enable status information again after a preset time interval, and enabling the target device capability when the enable status information indicates that the target device capability is not enabled.
[0217] In one implementation, the master device can acquire the enable status information again when the enable status information indicates that the target device capability is enabled, and enable the target device capability when the acquired enable status information indicates that the target device capability is not enabled, so as to avoid the problem that the service cannot be processed collaboratively when the enable status information is not updated in time.
[0218] Based on the above example, before receiving the incoming call notification, another electronic device (such as a mobile phone) may be working with the tablet computer 22 to process the system prompt service, and has already enabled the audio capabilities of the tablet computer 22 and updated the enabled status information of the audio capabilities stored in the tablet computer 22 to the second state.
[0219] After the system indicates that the service has ended, another electronic device will update the audio capability enable status of tablet 22, updating the enable status information to the first state. If the call service starts during the enable status information update process, the enable status information obtained by mobile phone 21 may be in the second state, making it impossible for mobile phone 21 and tablet 22 to coordinate the newly started call service.
[0220] Combination Figure 7 As shown, when the enabled status information obtained by the mobile phone 21 is in the second state, it can wait for a preset time. After the preset time, it will execute step 71 again to obtain the enabled status information of the audio capability from the tablet computer 22. If the enabled status information indicates that the audio capability is not enabled, it will continue to enable the audio capability. The specific value of the preset time can be set according to the requirements, and this embodiment does not limit it.
[0221] The auxiliary equipment can repeatedly acquire the enable status information of the target device's capabilities, with a preset time interval between two consecutive acquisitions. When the number of acquisitions exceeds the preset number, it is determined that the target device's capabilities are being used by other services, and the acquisition of enable status information can be stopped.
[0222] In this embodiment, when the enable status information indicates that the target device's capability is enabled, the master device waits for a preset time before acquiring the enable status information again. If the acquired enable status information indicates that the target device's capability is enabled, it continues to enable the target device's capability. This allows the master device to acquire updated enable status information after a preset time if the enable status information is not updated in a timely manner, enabling collaborative processing of services with auxiliary devices and avoiding the inability to collaboratively process services when the enable status information is not updated in a timely manner.
[0223] Optionally, the method may further include: when the target device capability fails to be enabled, if the number of times the target device capability is enabled is not higher than the preset number of times, then the target device capability is enabled again.
[0224] In one implementation, if enabling the target device's capabilities fails, the main device can enable the target device's capabilities again. For example, if the preset number of enable attempts is 3, the mobile phone 21 can initialize the number of enable attempts to 0 before enabling the audio capabilities of the tablet computer 22, and increment the number of enable attempts by 1 after each time the audio capabilities of the tablet computer 22 are enabled.
[0225] Each time enable is performed, if the DMSDP of mobile phone 21 receives a failure notification from tablet computer 22, or determines that the enable operation on the mobile phone side has failed, then the enable operation is deemed to have failed. After determining that the enable operation has failed, the number of enable attempts is compared with the preset number of enable attempts. If the number of enable attempts is less than or equal to 3, the audio capability of tablet computer 22 is enabled again.
[0226] Conversely, if the number of enable attempts exceeds 3, it is determined that the audio capability of the tablet computer 22 cannot be successfully enabled, and the enabling of the audio capability can be terminated. The specific value of the preset number of attempts can be set according to requirements, and this embodiment does not impose any restrictions on it.
[0227] When enabling the capabilities of auxiliary equipment, both the primary and auxiliary equipment are involved. Unstable communication between the primary and auxiliary equipment, or malfunctions in their operation, can prevent the target equipment's capabilities from being enabled successfully on the first attempt, thus hindering the collaborative processing of business by the primary and auxiliary equipment. Reasons for this failure include, but are not limited to, the examples mentioned above.
[0228] In this embodiment, when the main device enables the device capability of the auxiliary device, it can re-enable the device capability of the auxiliary device if the enabling fails. This can avoid the problem that the device capability of the auxiliary device cannot be enabled successfully in one go under some abnormal conditions, which would prevent the main device and the auxiliary device from working together to process business.
[0229] Optionally, the method may further include: when the enable status information indicates that the target device capability is enabled, stopping the second service and reacquiring the enable status information, wherein the second service is a service that occupies the target device capability.
[0230] In one implementation, when the master device enables the device capability of the auxiliary device, if the target device capability has already been enabled, i.e., it has been occupied by the second service, the master device can stop the second service to release the target device capability and re-enable the target device capability.
[0231] For example, after determining that the audio capability of the tablet computer 22 is enabled, the mobile phone 21 can identify the second service currently occupying the audio capability. If the service priority of the second service is lower than that of the first service, the second service is stopped. After stopping the second service, the audio capability of the tablet computer 22 can be disabled. For example, the second service is a system notification service, which has a lower service priority than the call service. After the call service is started, if the mobile phone 21 determines that the audio capability of the tablet computer 22 is occupied by the system notification service, the mobile phone 21 can stop the system notification service. After stopping the system notification service, the mobile phone 21 disables the audio capability of the tablet computer 22 and updates the audio capability's enable status information after disabling it.
[0232] After the system prompt service is stopped, the mobile phone 21 can wait for a preset time to retrieve the audio capability enable status information from the tablet computer 22 again, and continue to enable the audio capability when the enable status information indicates that the audio capability is not enabled.
[0233] Optionally, when the electronic device's capabilities are occupied by a certain service (i.e., a second service), it can store the service identifier of the second service. When the master device obtains the enable status information of the device's capabilities from the auxiliary device, it can simultaneously obtain the service identifier of the second service. The master device can determine the service priority of the first service based on its service identifier, and determine the service priority of the second service based on its service identifier, and stop the second service when the service priority of the first service is higher than that of the second service.
[0234] The second service can be a service initiated by the main device or a service initiated by another electronic device other than the main device. For example, when the second service is initiated by mobile phone 21, if mobile phone 21 determines that the service priority of the first service is higher than that of the second service, it can directly stop the second service and update the enable status information of the audio capability.
[0235] When the second service is initiated by another electronic device, if mobile phone 21 determines that the service priority of the first service is higher than that of the second service, it can send a stop command to tablet computer 22. Tablet computer 22 can respond to the stop command by stopping the second service, disabling its audio capabilities, and updating the audio capability enable status information after disabling. Alternatively, mobile phone 21 can send a stop command to another electronic device, causing it to stop the second service, disable the audio capabilities of tablet computer 2, and update the audio capability enable status information after disabling. The specific methods for stopping the second service may include, but are not limited to, the examples above; this embodiment does not impose such limitations.
[0236] In one implementation, when the second service is a service of another electronic device other than the main device, the main device can also compare the device priority of the main device with that of the other electronic device. When the device priority of the main device is higher than that of the other electronic device, the second service is stopped.
[0237] For example, after the auxiliary device's capabilities are enabled, it can also store the device type of the primary device. The device type can be stored in correspondence with the enable status information. When the primary device obtains the enable status information of the device capabilities from the auxiliary device, it can also obtain the stored device type. The primary device can determine its own device priority based on its own device type, and determine the device priority of another electronic device based on its device type. When the primary device's device priority is higher than the device priority of another electronic device, the second service is stopped.
[0238] It is understood that in the above example, the main device can determine whether to stop the second service based on the priority of the service and the priority of the device. In actual applications, the main device can also stop the second service when other target conditions meet preset conditions. The target conditions and preset conditions can be set according to specific needs, and this embodiment does not impose any restrictions on this.
[0239] In this embodiment of the application, when the enable status information indicates that the target device capability is enabled, the master device can stop occupying the second service of the target device capability and reacquire the enable status information. It can stop the second service, release the target device capability, enable the target device capability, and call the target device capability to continue to collaboratively process the first service when the service priority of the first service is higher than the service priority of the second service or the device priority of the master device is higher than the device priority of another electronic device that started the second service.
[0240] In summary, in this embodiment, when the master device enables the auxiliary device's capabilities, it determines whether the capability is enabled based on the capability's enable status information. Enabling the capability when it is not enabled avoids duplicate enabling. When multiple services need to simultaneously call the auxiliary device's capabilities, it ensures that the capability is enabled only once, preventing duplicate enabling and thus resolving service conflicts during the capability enabling process.
[0241] Figure 10 The diagram illustrates a structural block diagram of a device capability enabling device 11 provided in an embodiment of this application. The device 11 may include:
[0242] The acquisition module 101 is used by the master device to acquire the enable status information of the target device capability according to the first service to be processed. The target device capability is the device capability of the auxiliary device for processing the first service.
[0243] The enabling module 102 is used to enable the target device capability when the enabling status information indicates that the target device capability is not enabled, so as to call the target device capability to process the first service.
[0244] Optionally, the device further includes an update module, used to update the enable status information of the target device capability to "enabled" when the target device capability is successfully enabled.
[0245] Optionally, the update module is specifically used to update the enable status information of the target device capability stored in the auxiliary device to "enabled"; and / or, to update the enable status information of the target device capability stored in the master device to "enabled".
[0246] Optionally, the acquisition module 101 is specifically used to acquire the enable status information of the target device's capabilities from the auxiliary equipment according to the service type of the first service.
[0247] Optionally, the acquisition module 101 is specifically used to acquire the enable status information pre-stored in the master device when the master device has the enable status information of the target device capability stored in it; and to acquire the enable status information from the auxiliary device when the master device does not store the enable status information of the target device capability.
[0248] Optionally, the update module is specifically used to update the enable status information of the target device capability to enabled by creating another thread.
[0249] Optionally, the acquisition module 101 is further configured to acquire the enable status information again after a preset time interval when the enable status information indicates that the target device capability has been enabled, and enable the target device capability when the enable status information indicates that the target device capability has not been enabled.
[0250] Optionally, the enabling module 102 is further configured to enable the target device capability again if the number of times the target device capability is enabled does not exceed the preset number of times when the target device capability fails to be enabled.
[0251] Optionally, the enable module is also used to disable the target device capability when the enable status information indicates that the target device capability is enabled.
[0252] Optionally, the acquisition module is also used to stop the second service and reacquire the enable status information when the enable status information indicates that the target device capability is enabled. The second service is the service that occupies the target device capability.
[0253] Figure 11 This illustration shows a structural schematic diagram of an electronic device 11 provided in an embodiment of this application. Figure 5 The illustrated electronic device 5 includes a processor 111, a memory 112, a communication interface 113, and a bus 114. The memory 112 stores instructions, and the processor 111 executes the instructions stored in the memory 112. The processor 111, memory 112, and communication interface 113 are interconnected via the bus 114.
[0254] This application also provides a chip system applied to an electronic device, the chip system including one or more processors, the processors being configured to invoke computer instructions to cause the electronic device to perform the method described above.
[0255] This application also provides a computer program product comprising: computer program code, which, when executed by a device capability enabling device, implements the method described in any of the method embodiments of this application.
[0256] The computer program product can also be code embedded in a chip. This application does not limit the specific form of the computer program product.
[0257] This application also provides a readable storage medium storing a computer program thereon, which, when executed by a device-enabled device, implements the methods described in any of the method embodiments of this application. The computer program may be a high-level language program or an executable object program.
[0258] The readable storage medium can be volatile memory or non-volatile memory, or it can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0259] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process and technical effects of the above-described apparatus and equipment can be referred to the corresponding processes and technical effects in the foregoing method embodiments, and will not be repeated here.
[0260] In the several embodiments provided in this application, the systems, apparatuses, and methods disclosed can be implemented in other ways. For example, some features of the method embodiments described above can be ignored or not performed. The apparatus embodiments described above are merely illustrative; the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Multiple units or components can be combined or integrated into another system. Furthermore, the coupling between units or components can be direct coupling or indirect coupling, including electrical, mechanical, or other forms of connection.
[0261] It should be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0262] In summary, the above description is merely a preferred embodiment of the technical solution of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method of enabling device capabilities, the method comprising: Applied to a primary device, the method comprises: According to a first service to be processed, a query request is sent to a secondary device, the query request comprising a first service identifier of the first service; Receiving enabling state information sent by the secondary device, the enabling state information being sent by the secondary device upon receiving the query request, the enabling state information indicating an enabling state of a target device capability among a plurality of device capabilities possessed by the secondary device, the target device capability being a device capability corresponding to a service type indicated by the first service identifier among the plurality of device capabilities; When the enabling state information indicates that the enabling state of the target device capability of the secondary device is not enabled, enabling the target device capability of the secondary device to invoke the target device capability of the secondary device to process the first service; When the enabling of the target device capability of the secondary device is successful, sending enabling success information to the secondary device to update the enabling state of the target device capability of the secondary device stored in the secondary device to enabled.
2. The method of claim 1, wherein, The sending of the enabling success information to the secondary device comprises: Sending the enabling success information to the secondary device through another newly created thread.
3. The method of claim 1 or 2, wherein, The method further comprises: When the enabling state information indicates that the enabling state of the target device capability of the secondary device is enabled, sending the query request to the secondary device again after an interval of a preset time length, and receiving enabling state information sent by the secondary device upon receiving the query request again; When the latest received enabling state information indicates that the enabling state of the target device capability of the secondary device is not enabled, enabling the target device capability of the secondary device.
4. The method of claim 1 or 2, wherein, The method further comprises: When the enabling of the target device capability of the secondary device fails, if the number of times of enabling the target device capability of the secondary device is not higher than a preset enabling number of times, enabling the target device capability of the secondary device again.
5. The method of claim 1 or 2, wherein, The method further comprises: When the enabling state information indicates that the enabling state of the target device capability of the secondary device is enabled, not enabling the target device capability of the secondary device.
6. The method of claim 1 or 2, wherein, The method further comprises: When the enabling state information indicates that the enabling state of the target device capability of the secondary device is enabled, stopping a second service and reacquiring the enabling state of the target device capability of the secondary device, the second service being a service occupying the target device capability of the secondary device.
7. An apparatus for enabling device capabilities, the apparatus comprising: The device is arranged in a primary device, and comprises: An obtaining module, configured to send a query request to a secondary device according to a first service to be processed, the query request comprising a first service identifier of the first service; The obtaining module is further configured to receive enabling state information sent by the secondary device, the enabling state information being sent by the secondary device upon receiving the query request, the enabling state information indicating an enabling state of a target device capability among a plurality of device capabilities possessed by the secondary device, the target device capability being a device capability corresponding to a service type indicated by the first service identifier among the plurality of device capabilities; an enabling module, configured to enable the target device capability of the secondary device to process the first service when the enabling state information indicates that the enabling state of the target device capability of the secondary device is disabled; an updating module, configured to send enabling success information to the secondary device when the enabling of the target device capability of the secondary device is successful, so that the enabling state of the target device capability of the secondary device stored in the secondary device is updated to enabled.
8. The apparatus of claim 7, wherein, The updating module is specifically configured to send the enabling success information to the secondary device through another newly created thread.
9. The apparatus of claim 7 or 8, wherein, The obtaining module is further configured to send the query request to the secondary device again after a preset time interval when the enabling state information indicates that the enabling state of the target device capability of the secondary device is enabled. The enabling module is further configured to enable the target device capability of the secondary device when the enabling state information indicates that the enabling state of the target device capability of the secondary device is disabled.
10. The apparatus of claim 7 or 8, wherein, The enabling module is further configured to enable the target device capability of the secondary device again when the enabling of the target device capability of the secondary device fails and the number of times of enabling the target device capability of the secondary device is not higher than a preset enabling number.
11. The apparatus of claim 7 or 8, wherein, The enabling module is further configured to not enable the target device capability of the secondary device when the enabling state information indicates that the enabling state of the target device capability of the secondary device is enabled.
12. The apparatus of claim 7 or 8, wherein, The obtaining module is further configured to stop a second service and re-obtain the enabling state of the target device capability of the secondary device when the enabling state information indicates that the enabling state of the target device capability of the secondary device is enabled, the second service being a service occupying the target device capability of the secondary device.
13. An electronic device, comprising: One or more processors and one or more memories; the one or more processors are coupled with the one or more memories, and the one or more memories are configured to store computer program codes, the computer program codes comprising computer instructions, when the one or more processors execute the computer instructions, causing the electronic device to perform the method in any one of claims 1-6. The readable storage medium stores a computer program product, the computer program product comprising computer instructions, when the computer instructions run on an electronic device, causing the electronic device to perform the method in any one of claims 1-6.
14. A readable storage medium, characterized by, The chip system is applied to an electronic device, and the chip system comprises one or more processors, and the processor is configured to invoke computer instructions to cause the electronic device to perform the method in any one of claims 1-6.
15. A chip system, characterized by The computer instructions, when running on an electronic device, cause the electronic device to perform the method in any one of claims 1-6.
16. A computer program product, characterised in that,
Citation Information
Patent Citations
Incoming call answering method, electronic device, and storage medium
WO2022105674A1