Device interconnection and interaction methods, electronic devices and computer-readable storage media

By dynamically adjusting the position of the device ball, the problem of anchor device balls obscuring other device balls in device interconnection applications is solved, enabling smooth movement of device balls and maximizing the expanded window, thus improving the user experience.

CN120335691BActive Publication Date: 2026-03-13HONOR DEVICE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-01-10
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In device interconnection applications, when the anchor device ball is unfolded, it may block other device balls, causing inconvenience to users and limiting the unfolding space, which affects the user experience.

Method used

By obtaining the current rotation angle and type of the anchor point device ball, the position of each device ball is dynamically adjusted to ensure that other device balls are not obstructed, making full use of screen space and expanding the window of the anchor point device ball.

Benefits of technology

It enables smooth movement of the device ball and maximizes the expanded window, improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120335691B_ABST
    Figure CN120335691B_ABST
Patent Text Reader

Abstract

This application provides a device interconnection and interaction method, device, and computer-readable storage medium, relating to the field of smart device application technology. It enables dynamic adjustment of the positions of various device spheres, not only preventing other device spheres from being obscured but also maximizing the display of the anchor device sphere's expanded window for user convenience. The method includes: receiving a first operation to click on an anchor device sphere in the interface; obtaining the current rotation angle and type of the anchor device sphere; determining the initial angle, target angle, and anchor point direction of the anchor device sphere based on its current rotation angle and type; obtaining the number of device spheres in the interface; determining the initial angle and target angle of other device spheres based on the number of device spheres and their current rotation angle; and controlling the movement of each device sphere in the interface based on the anchor point direction, the initial and target angles of the anchor device sphere, and the initial and target angles of the other device spheres.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of smart device application technology, and in particular to a device interconnection and interaction method, an electronic device, and a computer-readable storage medium. Background Technology

[0002] In the internet age, smart devices are becoming increasingly widespread. Commonly used smart devices in daily life include smartphones, tablets (portable Android devices, PADs), smartwatches, televisions, and computers, each with its own strengths. Users frequently need to switch between these devices, leading to the development of device interconnection applications in related technologies. These applications enable interconnection functions such as switching services and exchanging data between different devices. However, the device interconnection applications provided by these technologies have limitations. When the anchor device sphere is deployed, it may obstruct other device spheres, and the deployment space of the anchor device sphere is limited, affecting user operation and resulting in a poor user experience. Summary of the Invention

[0003] This application provides a device interconnection and interaction method, an electronic device, and a computer-readable storage medium. It can determine the unfolding position according to the type of the anchor device ball and dynamically adjust the position between each device ball. While ensuring that other device balls are not obstructed, it makes full use of the screen space to display the unfolding window of the anchor device ball as large as possible, which is convenient for user operation.

[0004] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0005] In a first aspect, embodiments of this application provide a device interconnection and interaction method applied to an electronic device. The method includes: responding to a received first operation for clicking an anchor device ball in an interface, obtaining the current rotation angle of the anchor device ball and the type of the anchor device ball; determining the initial angle, target angle, and anchor point direction of the anchor device ball based on the current rotation angle and the type of the anchor device ball; obtaining the number of device balls in the interface; determining the initial angle and target angle of other device balls besides the anchor device ball based on the number of device balls and the current rotation angle of the anchor device ball; and controlling the movement of each device ball in the interface based on the anchor point direction, the initial angle and target angle of the anchor device ball, and the initial angle and target angle of the other device balls.

[0006] Based on the technical solution provided in this application, when a user clicks on the anchor device ball, the unfolding position is determined according to the type of the anchor device ball, and the positions between each device ball are dynamically adjusted. While ensuring that other device balls are not obstructed, the screen space is fully utilized to display the unfolded window of the anchor device ball as large as possible, which is convenient for user operation.

[0007] In one possible implementation of the first aspect, determining the initial angle, target angle, and anchor point direction of the anchor point device ball based on its current rotation angle and type includes: determining the initial angle of the anchor point device ball based on its current rotation angle; determining the target angle of the anchor point device ball based on its type; and determining the anchor point direction of the anchor point device ball based on its initial angle and target angle.

[0008] Based on the above possible implementation methods, the initial angle, target angle, and anchor point direction of the anchor point device ball are determined to provide support for controlling the movement of the anchor point device ball.

[0009] In one possible implementation of the first aspect, determining the anchor point direction of the anchor point device ball based on its initial angle and target angle includes: determining an initial correction angle and a target correction angle based on the initial angle and target angle of the anchor point device ball; and determining the anchor point direction based on the initial correction angle and the target correction angle.

[0010] Based on the above possible implementation methods, the electronic device determines the initial correction angle and the target correction angle by using the initial angle and the target angle of the anchor point device ball, and determines the anchor point direction based on the initial correction angle and the target correction angle, thus providing data support for the movement of the anchor point device ball.

[0011] In one possible implementation of the first aspect, determining the initial and target angles of the other device balls besides the anchor point device ball based on the number of device balls and the current rotation angle of the anchor point device ball includes: determining the average distribution angle among the device balls based on the number of device balls; determining the initial angles of the other device balls besides the anchor point device ball based on the current rotation angle of the anchor point device ball and the average distribution angle; determining an offset angle array based on the number of device balls; and determining the target angles of the other device balls besides the anchor point device ball based on the target angle of the anchor point device ball and the offset angle array.

[0012] Based on the above possible implementation methods, the electronic device determines the initial angles of the other device balls (excluding the anchor point device ball) according to the angles between the device balls evenly distributed in the interface. Then, based on the initial angles and a preset offset angle array, it determines the target angles of the other device balls (excluding the anchor point device ball), thus enabling the other device balls to avoid each other and providing more space for the anchor point device ball to unfold.

[0013] In one possible implementation of the first aspect, controlling the movement of each device ball in the interface based on the anchor point direction, the initial and target angles of the anchor point device ball, and the initial and target angles of the other device balls includes: using the anchor point direction as the rotation direction to determine the target rotation angle of the anchor point device ball; determining the shortest path rotation direction of each of the other device balls based on their initial and target angles; determining the rotation angle of each device ball in the interface based on the rotation direction, the shortest path rotation direction of each of the other device balls, their initial and target angles, and the initial and target angles of the anchor point device ball; and controlling the movement of each device ball according to its rotation angle.

[0014] Based on the above possible implementation methods, when the electronic device moves the device ball, it should move along the shortest path as much as possible, while ensuring that the path of the anchor device ball does not overlap with the path of other device balls. When adjusting and avoiding obstacles, it should ensure that the device ball moves smoothly and continuously, avoid jump movements, and improve the user experience.

[0015] In one possible implementation of the first aspect, determining the rotation angle of each device ball in the interface based on the rotation direction and the shortest path rotation direction of each of the other device balls, the initial angle and target angle of each of the other device balls, and the initial angle and target angle of the anchor point device ball includes: determining the rotation angle of each of the other device balls based on the initial angle and target angle of each of the other device balls when the rotation direction and the shortest path rotation direction of each of the other device balls are consistent; and determining the rotation angle of the anchor point device ball based on the target rotation angle.

[0016] Based on the above possible implementation methods, when the electronic device moves the device ball, if the rotation direction of the anchor device ball is different from the rotation direction of other device balls, it moves based on the shortest path, and ensures that the device ball moves smoothly and continuously when adjusting and avoiding collisions, avoiding abrupt movements and improving the user experience.

[0017] In one possible implementation of the first aspect, determining the rotation angle of each device ball in the interface based on the rotation direction and the shortest path rotation direction of each of the other device balls, the initial and target angles of each of the other device balls, and the initial and target angles of the anchor point device ball further includes: when the rotation direction and the shortest path rotation direction of each of the other device balls are inconsistent, and when it is determined, based on the initial and target angles of each of the other device balls and the initial and target angles of the anchor point device ball, that the shortest path of each of the other device balls coincides with the shortest path of the anchor point device ball, updating the rotation direction of the anchor point device ball to the opposite direction of the anchor point direction, and updating the target rotation angle of the anchor point device ball; and determining the rotation angle of each device ball in the interface based on the updated rotation direction and the shortest path rotation direction of each of the other device balls, the initial and target angles of each of the other device balls, and the initial and target angles of the anchor point device ball.

[0018] Based on the above possible implementation methods, when the electronic device moves the device ball, if the shortest path of other device balls coincides with the shortest path of the anchor point device ball, the target rotation angle of each device ball is redefined by reversing the direction of the anchor point, thus providing data support for moving each device ball.

[0019] In one possible implementation of the first aspect, the method further includes: in response to a received second operation for clicking a device model in the interface, folding the device model into a device ball corresponding to the device model; and resetting each of the device balls according to the initial angles of the other device balls besides the anchor point device ball.

[0020] Based on the above possible implementation methods, if a user clicks on an expanded service model, it will be collapsed, and other device balls will be reset simultaneously. This achieves device ball reset.

[0021] Secondly, embodiments of this application also provide a device interconnection and interaction apparatus, which can be applied to electronic devices. The functions of this apparatus can be implemented through hardware or through hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the aforementioned functions, such as a first acquisition module, a first determination module, a second acquisition module, a second determination module, and a movement module.

[0022] The first acquisition module can be used to acquire the current rotation angle of the anchor point device ball and the type of the anchor point device ball in response to a received first operation for clicking the anchor point device ball in the interface.

[0023] The first determining module can be used to determine the initial angle, target angle, and anchor point direction of the anchor point device ball based on the current rotation angle of the anchor point device ball and the type of the anchor point device ball;

[0024] The second acquisition module can be used to acquire the number of device balls in the interface;

[0025] The second determining module can be used to determine the initial angle and target angle of other equipment balls besides the anchor point equipment ball based on the number of equipment balls and the current rotation angle of the anchor point equipment ball;

[0026] The movement module can be used to control the movement of each device ball in the interface according to the anchor point direction, the initial and target angles of the anchor point device ball, and the initial and target angles of the other device balls.

[0027] Thirdly, this application provides an electronic device including a display screen, a memory, and one or more processors; the display screen, the memory, and the processors are coupled; wherein the memory stores computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the electronic device to perform the device interconnection and interaction method provided by the first aspect and any possible design of the present invention.

[0028] Fourthly, this application provides a computer-readable storage medium including computer instructions that, when executed on an electronic device, cause the electronic device to perform the device interconnection and interaction method provided by the first aspect and any possible design of the present application.

[0029] Fifthly, this application provides a computer program product that, when run on an electronic device, causes the electronic device to perform the device interconnection and interaction method provided by the first aspect and any possible design method thereof.

[0030] Understandably, the beneficial effects that the technical solutions provided in the second to fifth aspects described above can be achieved can be referred to the beneficial effects in the first aspect and any of its possible design methods, which will not be repeated here. Attached Figure Description

[0031] Figure 1 An interface design diagram for device interconnection applications provided by existing technologies;

[0032] Figure 2 A design diagram for deploying the local machine in existing device interconnection applications provided by existing technologies;

[0033] Figure 3An interface design diagram for deploying other devices in existing device interconnection applications;

[0034] Figure 4 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application;

[0035] Figure 5 A flowchart illustrating a device interconnection and interaction method provided in an embodiment of this application;

[0036] Figure 6 An interface design diagram of the initial state of a device sphere in a device interconnection application provided in this application embodiment;

[0037] Figure 7 An interface design diagram for unfolding the local machine in a device interconnection application provided in the embodiments of this application;

[0038] Figure 8 A schematic diagram of an interface for displaying other devices in a device interconnection application provided in this application embodiment;

[0039] Figure 9 A flowchart illustrating another device interconnection and interaction method provided in an embodiment of this application;

[0040] Figure 10 A flowchart illustrating another device interconnection and interaction method provided in an embodiment of this application;

[0041] Figure 11 This is a schematic diagram of the structure of a device interconnection and interaction device provided in an embodiment of this application. Detailed Implementation

[0042] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that “ / ” means “or,” for example, A / B can mean A or B; “and / or” in the text is merely a description of the relationship between related objects, indicating that three relationships can exist, for example, A and / or B can mean: A alone, A and B simultaneously, and B alone.

[0043] In this application, the reference to "embodiment" means that a specific 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 mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this application can be combined with other embodiments.

[0044] The terms "first" and "second" in the following embodiments of this application are for descriptive purposes only and should not be construed as implying relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0045] In the internet age, smart devices are becoming increasingly widespread. Commonly used smart devices in daily life include mobile phones, tablets, smartwatches, televisions, and computers, each with its own strengths and functions. Users frequently need to switch between these devices. For example, if a user is on a voice call on their mobile phone and wants to switch to their computer to continue the call, the traditional method is to first disconnect from the mobile phone and then re-establish the call connection on the computer. This traditional method is cumbersome and inconvenient for users.

[0046] To facilitate users switching between different devices, related technologies provide device interconnection applications (also known as smart interconnection applications) in electronic devices. These applications connect different electronic devices and / or systems, enabling interconnection functions such as switching services and exchanging data between different electronic devices.

[0047] Figure 1 An interface design diagram for device interconnection applications provided by existing technologies. For example... Figure 1 As shown, this interface design diagram illustrates the interface design when the device interconnection application uses the "call sharing" service.

[0048] like Figure 1 As shown in (a) of the diagram, the user avatar 101 of the currently logged-in user account is displayed at the center of the interface design. This user image 101 can be used to represent the user's identity. The dashed ring displayed outside the user avatar 101 is called the trust ring 102, which represents a trust circle or network. Information such as services / tasks flowing within the trust ring is trustworthy information.

[0049] At least one device ball 103 is arranged on the trust ring 102. Each device ball represents a trust ring device that has logged into the user account (i.e., the user account corresponding to the user avatar 101 displayed in the center), such as a mobile phone, PAD, wristband, television, computer, or other electronic device. For example, Figure 1 The image shows three device balls, which correspond to the following electronic devices: the local device, device 1, and device 2. Figure 1 In the design, each device sphere 103 is presented in the form of a sphere. In practice, the shape, pattern, and color of each device sphere 103 can be customized according to the specific type, status, or function of the device. Figure 1 This is an illustrative diagram and is not intended to limit the device sphere 103.

[0050] For the device ball 103 on the trust ring 102, users can interact with the device ball 103 by clicking, dragging, or other interactive methods to control and operate the electronic device. For example, users can click the device ball 103 to turn the electronic device on or off, adjust the settings of the electronic device, and view the status information of the device.

[0051] In some examples, such as Figure 1 As shown in (a), a service ball 104 can be attached to the device ball 103, representing a service that has been transferred to the folded state of the electronic device (such as device 1) corresponding to the device ball 103. This service can be transferred between devices within the trust ring 102. The shape, pattern, and color of the service ball 104 can be customized according to the type, status, or function of the specific service. A device ball 103 may not have any service balls 104 attached, or it may have one or more service balls 104 attached. Figure 1 The service sphere 104 is an exemplary illustration and is not intended to limit the scope of the service sphere 104.

[0052] For the service ball 104 attached to the device ball 103, users can interact with the service ball 104 through clicking, dragging, or other interactive methods to manage and operate the services. For example, users can expand the service ball 104 by clicking, changing its form to a circulating service capsule 106 to view the specific services offered by the service ball 104. For instance, when a user clicks the service ball 104, it can expand into a circulating service capsule in the shape of a capsule card, displaying the specific content of the service, such as "screen sharing" or "call sharing." As another example, users can drag the service ball 104, detaching it from the device 1 and moving it along the trajectory of their finger.

[0053] In some examples, such as Figure 1As shown in (a), a service capsule 105 can also be mounted on the device sphere 103. This service represents a service created by the electronic device (such as the local device) corresponding to the device sphere 103 that is ready to be transferred but has not yet been transferred. This service can be transferred between electronic devices within the trust ring 102. The shape, pattern, and color of the service capsule 105 can be customized according to the type, status, or function of the specific service. A device sphere 103 may or may not have any service capsules 105 mounted on it, or it may have one service capsule 105 mounted on it. Figure 1 The uncirculated service capsule 105 in (a) is an exemplary illustration and is not intended to limit the uncirculated service capsule 105.

[0054] For the uncirculated service capsule 105 mounted on the device sphere 103, users can interact with the uncirculated service capsule 105 through clicking, dragging, or other interactive methods to manage and operate the service. For example, users can click the close icon on the uncirculated service capsule 105 (e.g., ...). Figure 1 The operation indicated by "x" in (a) closes the uncirculated service capsule 105, thus stopping the circulation of the service corresponding to the uncirculated service capsule 105. For example, a user can move the uncirculated service capsule 105 by dragging it to attach it to another device sphere. For instance, a user drags the uncirculated service capsule 105 attached to their device to the vicinity of device 1 and touches it. The service corresponding to the uncirculated service capsule 105 attempts to establish a connection with device 1. After a successful connection, the uncirculated service capsule 105 changes its form to a service sphere and is attached to device 1.

[0055] In some examples, such as Figure 1 As shown in (b), a service capsule 106 can also be mounted on the device sphere 103, representing a service that has been transferred to the deployed state of the electronic device (such as device 2) corresponding to the device sphere 103. This service can continue to be transferred between electronic devices within the trust ring 102. The shape, pattern, and color of the service capsule 106 can be customized according to the specific service type, status, or function. A device sphere 103 may or may not have a service capsule 106 mounted on it. Figure 1 The service capsule 106 in (b) is an exemplary illustration and is not intended to limit the scope of the service capsule 106.

[0056] For the service capsule 106 mounted on the device sphere 103, users can interact with the service capsule 106 through clicking, dragging, or other interactive methods to manage and operate the service. For example, users can click the close icon on the service capsule 106 (e.g., ...). Figure 1(b) The operation marked "x" closes the transferred service capsule 106, thereby disconnecting the service corresponding to the transferred service capsule 106 from the device 2. For example, the user can collapse the transferred service capsule 106 by clicking on any position other than the close mark, thus hiding the specific content of the service displayed by the transferred service capsule 106 and changing its form to a service sphere. Furthermore, the user can move the transferred service capsule 106 by dragging it, transferring the service corresponding to the transferred service capsule 106 to the electronic device corresponding to another device sphere.

[0057] In some examples, uncirculated service capsule 105 and circulated service capsule 106 can be mounted at the same location on the device sphere 103, for example, both can be mounted on the upper part of the device sphere 103. Uncirculated service capsule 105 and circulated service capsule 106 can also be mounted at different locations on the device sphere 103, for example, uncirculated service capsule 105 can be mounted on the lower part of the device sphere 103, and circulated service capsule 106 can be mounted on the upper part of the device sphere 103. In practice, the shape, pattern, color, and mounting position of uncirculated service capsule 105 and circulated service capsule 106 on the device sphere 103 can be customized according to the specific service type, status, or function. Figure 1 This is an illustrative image and not a specific limitation.

[0058] As can be seen from the above description, the services provided by device sphere 103 can include three states: one is an unprocessed state, displayed as follows... Figure 1 In (a) above, the uncirculated service capsule 105 mounted on the local machine represents a service created by the electronic device (i.e., the local machine) corresponding to device ball 103 that is ready for circulation but has not yet been circulated. Another approach is to expand the circulation status, displayed as follows: Figure 1 The service capsule 106 mounted on device 2, shown in (b), represents the expanded state of the service that has been transferred to the electronic device (i.e., device 2) corresponding to device sphere 103. Another type is the collapsed transfer state, displayed as follows: Figure 1 The service ball 104 that has been transferred on the device 1 shown represents the service that has been transferred to the folded state of the electronic device (i.e., device 1) corresponding to the device ball 103.

[0059] The service sphere 104 (service in folded state) and the service capsule 106 (service in expanded state) can be switched back and forth by clicking. The un-circulated service capsule 105 (service in uncirculated state) can be moved to the service sphere 104, and its form can be switched by dragging it to another device sphere to attempt to establish a connection with the corresponding electronic device (e.g., device 1). The form can be switched from the service capsule 106 to the un-circulated service capsule 105 by clicking the close button on the service capsule 106.

[0060] Taking call sharing as an example, using the "call sharing" service of a smart interconnected application, when a user is making a voice call on their own device (such as a mobile phone) and wants to switch to device 2 (such as a computer) to continue the call, they can establish a connection on their own device while maintaining the connection on their own device. Figure 1 The "Call Sharing" service capsule 105 shown in (a) is dragged and dropped, and then follows the user's finger. When moved to another device ball, the service corresponding to the untransferred service capsule 105 attempts to establish a connection with the electronic device (such as device 2) corresponding to the device ball. After a successful connection, the untransferred service capsule 105 switches to the transferred service capsule 106, and the "Call Sharing" service is transferred, that is, the local call is transferred to device 2, and the user can continue the call using device 2.

[0061] Smart interconnected applications can achieve cross-device service flow without cumbersome operations on multiple electronic devices, providing more convenient and flexible services. This allows users to continue using services across different electronic devices without having to restart or configure services on each device, thus improving user experience satisfaction.

[0062] In other words, the intuitive graphical interface of the aforementioned device interconnection application enables users to easily manage and control multiple electronic devices logged into the same account, and realize service flow between multiple electronic devices, making it convenient for users to manage and use the services on each electronic device.

[0063] Based on the interface design diagram of the above device interconnection application, there are two main ways for users to interact with the device spheres: clicking and dragging. When a user wants to create a service using a device or view the services provided by a device, they click on the service sphere corresponding to that device in the interface.

[0064] In related technologies, if multiple device spheres are displayed on a trust ring, when a user clicks on a device sphere, that device needs to expand its menu and be presented as a model of that device. This allows the user to drag and drop relevant services from the menu onto other device spheres to complete the connection operation. Existing technology expands the clicked device sphere at its current position (i.e., expands it in place). Due to the small size of mobile phone screens, when the device model expands in place on a device sphere, it will obscure other device spheres, such as... Figure 2 As shown, this prevents the user from operating the obstructed device ball. Furthermore, the device ball can rotate to any position on the trust ring, such as... Figure 3 As shown, when the device model is expanded near the edge of the screen, there will not be enough space to expand, and the display window is too small, which will affect the user's operation.

[0065] Therefore, an algorithm for device ball avoidance and reset needs to be designed. When the user clicks on an anchor device ball, the unfolding position is determined based on the type of the anchor device ball, and the positions between each device ball are dynamically adjusted. This ensures that other device balls are not obstructed while making full use of screen space to display the unfolded window of the anchor device ball as large as possible for user convenience. Furthermore, the algorithm controls the device balls to move smoothly and continuously during avoidance and reset, avoiding abrupt movements and improving the user experience.

[0066] The electronic devices described in this application include, but are not limited to, mobile phones, laptops, tablets, laptop computers, personal computers (PCs), personal digital assistants (PDAs), or wearable devices (such as smartwatches or wristbands). Furthermore, the aforementioned electronic devices include, but are not limited to, those running Apple (iOS), Android, Microsoft, or other operating systems.

[0067] In this embodiment of the application, electronic devices can communicate with each other via a network. This network includes, but is not limited to, Wireless Local Area Network (WLAN), Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), General Packet Radio Service (GPRS), Long Term Evolution (LTE), LTE Frequency Division Duplex (FDD), LTE Time Division Duplex (TDD), Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX), and future 5th generation (5G) systems or new radio (NR), etc.

[0068] The method provided in the embodiments of this application will be described below with reference to the apparatus for implementing the embodiments of this application.

[0069] The technical solutions provided in this application can be applied to electronic devices. In some embodiments, the electronic device may be a mobile phone, tablet computer, handheld computer, personal computer (PC), ultra-mobile personal computer (UMPC), netbook, as well as cellular phone, personal digital assistant (PDA), augmented reality (AR) device, virtual reality (VR) device, artificial intelligence (AI) device, wearable device, in-vehicle device, smart home device and / or smart city device, etc. The embodiments of this application do not impose any special limitations on the specific type of electronic device.

[0070] For example, taking a mobile phone as an electronic device, Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of this application is shown.

[0071] Reference Figure 4 As shown, the electronic device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a display screen 193, a subscriber identification module (SIM) card interface 194, and a camera 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0072] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0073] A controller can be the nerve center and command center of an electronic device. Based on the instruction opcode and timing signals, the controller generates operation control signals to control the fetching and execution of instructions.

[0074] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0075] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when an electronic device is selecting a frequency, a DSP can perform a Fourier transform on the frequency energy.

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

[0077] The external memory interface 120 can be used to connect to external non-volatile memory, thereby expanding the storage capacity of the electronic device. The external non-volatile memory communicates with the processor 110 through the external memory interface 120 to perform data storage functions. For example, music, video, and other files can be stored in the external non-volatile memory.

[0078] Internal memory 121 may include one or more random access memory (RAM) and one or more non-volatile memory (NVM). The RAM can be directly read and written by the processor 110 and can be used to store executable programs (e.g., machine instructions) of the operating system or other running programs, as well as user and application data. The NVM can also store executable programs and user and application data, and can be pre-loaded into the RAM for direct read and write operations by the processor 110.

[0079] USB port 130 is a USB standard compliant interface, which can be a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic devices, and can also be used for data transfer between electronic devices and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other electronic devices, such as AR devices.

[0080] The charging management module 140 is used to receive charging input from a power supply device (such as a charger, laptop power supply, etc.). The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input via the wireless charging coil of the electronic device.

[0081] While charging the battery 142, the charging management module 140 can also supply power to the electronic device through the power management module 141. Specifically, the battery 142 can be composed of multiple batteries connected in series. The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110.

[0082] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, display screen 193, camera 195, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery voltage, current, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.

[0083] The wireless communication function of electronic devices can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem, and baseband processor.

[0084] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.

[0085] The mobile communication module 150 can provide wireless communication solutions, including 2G / 3G / 4G / 5G, for use in electronic devices. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 can be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 can be housed in the same device.

[0086] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 193. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.

[0087] The wireless communication module 160 can provide solutions for wireless communication applications in electronic devices, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0088] Electronic devices can implement audio functions such as music playback and recording through audio modules 170, speakers 170A, receivers 170B, microphones 170C, headphone jacks 170D, and application processors.

[0089] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 193. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. When a touch operation is applied to display screen 193, the electronic device detects the intensity of the touch operation based on pressure sensor 180A. The electronic device can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different intensities can correspond to different operation commands. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS message is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS message is executed.

[0090] The gyroscope sensor 180B can be used to determine the motion attitude of an electronic device. In some embodiments, the angular velocity of the electronic device about three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 180B.

[0091] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.

[0092] The magnetic sensor 180D includes a Hall effect sensor. The electronic device can use the magnetic sensor 180D to detect the opening and closing of a flip case. In some embodiments, when the electronic device is a foldable phone, the electronic device can detect the opening and closing of the foldable phone based on the magnetic sensor 180D.

[0093] The 180E accelerometer can detect the magnitude of acceleration in various directions (typically three axes) of electronic devices. When the electronic device is stationary, it can detect the magnitude and direction of gravity.

[0094] The 180F distance sensor is used to measure distance. Electronic devices can measure distance using infrared or laser.

[0095] The proximity sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED. The electronic device emits infrared light outward through the LED. The electronic device uses the photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that an object is near the electronic device. When insufficient reflected light is detected, the electronic device can determine that no object is near the electronic device.

[0096] The fingerprint sensor 180H is used to collect fingerprints. Electronic devices can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, app access locks, fingerprint photography, fingerprint answering of calls, etc.

[0097] Temperature sensor 180J is used to detect temperature. In some embodiments, the electronic device uses the temperature detected by temperature sensor 180J to execute a temperature processing strategy.

[0098] Touch sensor 180K, also known as a "touch device," can be located on display screen 193. The touch sensor 180K and display screen 193 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K is used to detect touch operations applied to or near it. Touch sensor 180K can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 193. In other embodiments, touch sensor 180K may also be located on the surface of the electronic device, in a different position than display screen 193.

[0099] The ambient light sensor 180L is used to sense ambient light brightness. For example, the ambient light sensor 180L can measure the light intensity of four channels of ambient light. The ambient light sensor 180L outputs the measured light intensity of the four channels of ambient light to the processor 110. The processor 110 can process the light intensity of the four channels of ambient light output by the ambient light sensor 180L to obtain the ambient light intensity. In the screen-on state, the electronic device can adaptively adjust the display brightness according to the obtained ambient light intensity. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also be used in conjunction with the proximity sensor 180G to detect whether the electronic device is in a pocket to prevent accidental touches.

[0100] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from the vibrating bone segments of the human vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals. In some embodiments, the bone conduction sensor 180M can also be incorporated into headphones to form bone conduction headphones. The audio module 170 can analyze the voice signals based on the vibration signals from the vibrating bone segments of the vocal cords acquired by the bone conduction sensor 180M to realize voice functionality.

[0101] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. The electronic device can receive button input and generate key signal inputs related to user settings and function control of the electronic device.

[0102] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can be corresponding to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194.

[0103] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.

[0104] In some embodiments, an electronic device may include one or N cameras 195, where N is a positive integer greater than 1. In this application embodiment, the type of camera 195 can be distinguished based on hardware configuration and physical location. For example, a camera located on the side of the electronic device's display screen 193 can be called a front-facing camera, and a camera located on the side of the electronic device's back cover can be called a rear-facing camera; another example is that a camera with a short focal length and a wide field of view can be called a wide-angle camera, while a camera with a long focal length and a narrow field of view can be called a regular camera. Here, focal length and field of view are relative concepts and are not specifically limited by parameters. Therefore, wide-angle cameras and regular cameras are also relative concepts, and can be specifically distinguished based on physical parameters such as focal length and field of view.

[0105] The electronic device implements display functions through a GPU, a display screen 193, and an application processor. The GPU is a microprocessor for image editing, connected to the display screen 193 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0106] Electronic devices can achieve shooting functions through ISP, camera 195, video codec, GPU, display 193, and application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information. In this embodiment, the GPU's functions are used during the frame rendering process of each image frame to achieve better display effects and performance in the final displayed image.

[0107] The Information Service Provider (ISP) is used to process data fed back from the camera 195. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization on image noise and brightness. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be integrated into the camera 195. The camera 195 is used to capture still images or videos.

[0108] Display screen 193 is used to display images, videos, etc. Display screen 193 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a sub-millimeter light-emitting diode (MiniLED), a micro light-emitting diode (MicroLED), a micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device may include one or N displays 193, where N is a positive integer greater than 1.

[0109] In this embodiment, the display screen 193 can be used to display the interface required by the electronic device (e.g., the interface of a device interconnection application, a wizard interface (including a recommendation page and an external module access page), etc.), and can also display images captured by any one or more cameras 195 in the interface.

[0110] The SIM card interface 194 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 194 to make contact with and detach from the electronic device. The electronic device can support one or more SIM card interfaces. The SIM card interface 194 supports Nano SIM cards, Micro SIM cards, and other SIM cards. Multiple cards can be inserted into the same SIM card interface 194 simultaneously. The SIM card interface 194 is also compatible with external memory cards. The electronic device interacts with the network through the SIM card to achieve functions such as calls and data communication. One SIM card corresponds to one user number.

[0111] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a limitation on the structure of the electronic device. In other embodiments of this application, the electronic device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0112] Of course, this is understandable. Figure 4The illustration shown is merely an example when the electronic device is in the form of a mobile phone. If the electronic device is in the form of a tablet, handheld computer, PC, PDA, wearable device (such as a smartwatch, smart bracelet), or other similar device, the structure of the electronic device may include more advanced features. Figure 4 The fewer structures shown can also include more than Figure 4 The structures shown are not limited here.

[0113] It is understandable that, generally speaking, the implementation of electronic device functions requires not only hardware support but also software cooperation. The software system of electronic devices can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application's embodiment uses a layered architecture... Taking the system as an example, the software structure of the electronic device is illustrated.

[0114] The technical solutions provided in the embodiments of this application can all be implemented in electronic devices with the above-described hardware or software architecture.

[0115] Based on the above Figure 4 The hardware architecture shown below, combined with Figure 5 The present application will introduce the device interconnection and interaction method provided in the embodiments. Figure 5 This is a flowchart illustrating a device interconnection and interaction method provided in an embodiment of this application. The method is applied to electronic devices, such as... Figure 5 As shown, the device interconnection and interaction method may include steps S501 to S513:

[0116] Step S501: The electronic device receives the interactive operation input by the user in the interface of the device interconnection application.

[0117] The center of the device interconnection application's interface displays the currently logged-in user's information, specifically the user's avatar. Surrounding the avatar is a trust ring, upon which at least one device sphere is arranged. Each device sphere represents an electronic device logged into that user's account, such as a mobile phone, tablet, smartwatch, TV, or computer. When the interface includes only one device sphere, the device corresponding to that sphere is the electronic device, i.e., the local device. When the interface includes multiple device spheres, one of the device spheres corresponds to the local device, and the local device interconnects with the devices corresponding to the other device spheres.

[0118] The embodiments of this application are as follows: Figure 6 The interface of the device interconnection application shown is illustrated as an example. Figure 6 As shown in (a) to (f), the interface of a device interconnection application may include 1 to 6 device balls, each corresponding to an interconnected electronic device.

[0119] For ease of description, in this embodiment, the top left corner of the electronic device's display screen is defined as the origin (0, 0), with the x-axis pointing to the right and the y-axis pointing downwards. The center point of the user's avatar is the center of the trust ring, represented by coordinates (xo, yo). The rightward angle of the trust ring's center is 0°. Clockwise rotation is defined as positive rotation; therefore, the trust ring's center is 90° downwards, 180° to the left, and 270° upwards. In the initialization interface, the device sphere is displayed at 270° on the trust ring.

[0120] It should be noted that, Figure 6 The position, shape, size, pattern, logo, and color of the user avatar, trust ring, and device sphere are merely examples, and the embodiments of this application do not limit the position, shape, size, pattern, logo, and color of the user avatar, trust ring, and device sphere.

[0121] Users Figure 6 The interface of the device interconnection application shown allows for various interactive operations, such as clicking the device ball, clicking a blank area (the area in the interface other than the user avatar and the device ball), and dragging the device ball.

[0122] In this embodiment, the interactive operation can be input by the user touching the screen of the electronic device with their finger, or it can be input through an input device, such as a mouse or keyboard connected to the electronic device. In practical applications, users can also input interactive operations in other ways, which are not limited in this embodiment.

[0123] Step S502: Determine whether the interactive operation is the first operation used to click the anchor point device ball in the interface.

[0124] If the user's input is the first operation, meaning the user's current input is a click on a device ball on the interface, then proceed to step S503. If the user's input is not the first operation, proceed to step S508.

[0125] For ease of distinction, the device ball currently clicked by the user will be referred to as the anchor device ball. This anchor device ball can be... Figure 6 The user clicks on any device ball.

[0126] Step S503, in response to the first operation, obtain the initial angle and target angle of the anchor point device ball.

[0127] The initial angle of the anchor point device ball is its current rotation angle. The current rotation angle of the anchor point device ball refers to the angle of clockwise rotation between the line connecting the center point of the anchor point device ball (i.e., the center of the circle) and the center of the trust ring, and the axis pointing to the right from the center of the trust ring. The current rotation angle ranges from [0°, 360°].

[0128] When the anchor device sphere is the current electronic device, the target angle of the anchor device sphere can be 270°. That is, the device model of the local machine is unfolded at the 270° position on the trust ring.

[0129] When the anchor device sphere is other electronic devices, the target angle of the anchor device sphere can be 90°. That is, the device model of other electronic devices is unfolded at the 90° position on the trust ring.

[0130] Step S504, determine the anchor direction according to the initial angle and the target angle of the anchor device sphere.

[0131] Among them, the anchor direction refers to the rotation direction of the anchor device sphere. In the embodiments of the present application, the anchor direction can be determined according to the following steps:

[0132] Step S5041, determine the initial correction angle and the target correction angle according to the initial angle and the target angle.

[0133] Among them, the initial correction angle can be the initial angle, that is, the current rotation angle.

[0134] The target correction angle can be determined according to the following steps 1) to 3):

[0135] 1) Judge the magnitudes of the initial angle and the target angle. If the initial angle is greater than the target angle and the difference between the initial angle and the target angle is greater than 180°, it means that the clockwise path is shorter, and the target correction angle is determined as the sum of the target angle and the circumferential angle.

[0136] 2) If the target angle is greater than the initial angle and the difference between the target angle and the initial angle is greater than 180°, it means that the counterclockwise path is shorter, and the target correction angle is determined as the difference between the target angle and the circumferential angle.

[0137] 3) If 1) and 2) are not satisfied, the target correction angle is determined as the target angle.

[0138] Exemplarily, the initial angle is denoted as originAngle, the target angle is denoted as targetAngle, the initial correction angle is denoted as mOriginAngle, and the target correction angle is denoted as mTargetAngle. The above steps 1) to 3) can be respectively represented as the following a) to c):

[0139] a) When targetAngle < originAngle and (originAngle - targetAngle) > (targetAngle + 360 - originAngle), it means that the clockwise path is shorter, mTargetAngle = targetAngle + 360;

[0140] b) When targetAngle > originAngle and (targetAngle - originAngle) > (originAngle + 360 - targetAngle), it means that the path in the counterclockwise direction is shorter, and mTargetAngle = targetAngle - 360.

[0141] c) If a) and b) are not satisfied, then directly assign the value mTargetAngle = targetAngle.

[0142] Step S5042: Determine the anchor point direction based on the initial correction angle and the target correction angle.

[0143] Determine the magnitude of the target correction angle and the initial correction angle. If the target correction angle is greater than the initial correction angle, determine the anchor point direction as clockwise; if the target correction angle is less than the initial correction angle, determine the anchor point direction as counterclockwise; if the target correction angle is equal to the initial correction angle, it indicates that no rotation has occurred, and the anchor point direction is determined as no direction.

[0144] For example, the sweep angle is calculated as sweepAngle = targetAngle – originAngle. If sweepAngle > 0, the anchor direction is determined to be clockwise (DIRECTION_CLOCKWISE); if sweepAngle < 0, the anchor direction is determined to be counterclockwise (DIRECTION_COUNTER_CLOCKWISE); if sweepAngle = 0, the anchor direction is determined to be no rotation (DIRECTION_NONE).

[0145] Step S505: Obtain the number of device balls on the trust ring.

[0146] The number of devices is denoted as childCount. childCount can take values ​​of 1, 2, 3, 4, 5, and 6.

[0147] Step S506: Obtain the initial angle and target angle of the other device balls besides the anchor point device ball.

[0148] Step S5061: Determine the initial angles of the other device balls besides the anchor point device ball.

[0149] The device spheres on the trust ring can be sorted according to the order in which user accounts logged in, thus determining their sequence number. The local device is numbered 0, representing the first user account to log in. The anchor device is the third user account to log in, and its sequence number is 2. It should be noted that in this embodiment, the relative position order of all logged-in device spheres remains unchanged. Device spheres avoiding or resetting only change the angle between them, not their order.

[0150] In the initial state, based on the number of device balls, the average distribution angle between the device balls on the trust ring is determined as averageAngle = 360 / childCount. The initial state, also known as the idle state, refers to the state where the local machine is at position 270° on the trust ring, and all device balls are evenly distributed on the trust ring according to the device's login order. Figure 6 The diagram shows the six idle states corresponding to 1 to 6 device balls.

[0151] Each device's IP address is determined according to its login order. The first device to log in is the local machine, with IP = 0; the second device to log in has IP = 1, ..., and the sixth device to log in has IP = 5. Clearly, the range of IP is [0, childCount].

[0152] Based on the initial angle and average angle of the anchor point device ball, determine the initial angle of the i-th device ball as originAngle + i*averageAngle.

[0153] Step S5062: Determine the target angles of the other equipment balls besides the anchor point equipment ball.

[0154] The target angle of other equipment balls can be determined according to the following steps:

[0155] Step S50621: Determine the device ball serial number.

[0156] The serial number of the device ball can start with the serial number of the anchor device ball, and then traverse the serial numbers of each device ball in a clockwise direction, and determine the serial number of the traversed serial number.

[0157] The index of the anchor device ball is denoted as anchorIndex. Traverse all other device balls except the anchor device ball. Let k be the kth device ball in the clockwise direction from the anchor device ball, and k takes the value range [0, childCount). The actual index of each device ball in the clockwise direction from the anchor device ball is j = (k + anchorIndex) % childCount.

[0158] The "%" signifies the modulo operation. For example, when anchorIndex = 2 and childCount = 5, the device ball numbers in the clockwise direction are 3, 4, 0, and 1 respectively (in this embodiment, the device ball number is consistent with the computer system number, i.e., it is encoded starting from 0).

[0159] Step S50622: Determine the target angle of the i-th device ball.

[0160] The target angle of the i-th device ball = the target angle of the anchor point device ball + FOCUSED_DEVICE_BALL_RING_OFFSET_ANGLE_ARRAY[childCount-1][i].

[0161] In the above formula, the `FOCUSED_DEVICE_BALL_RING_OFFSET_ANGLE_ARRAY` array is a predefined array representing the offset angle array of the device ball based on the anchor point. Its values ​​are:

[0162] FOCUSED_DEVICE_BALL_RING_OFFSET_ANGLE_ARRAY={

[0163] {0},

[0164] {0,180},

[0165] {0,135,225},

[0166] {0,108,180,252},

[0167] {0,95,148,212,265},

[0168] {0,90,135,180,225,270}};

[0169] Thus, based on steps S504 and S506, the initial and target angles of the anchor point device ball and the initial and target angles of the other device balls are obtained.

[0170] Step S507: Control the movement of each device ball according to the anchor point direction, the initial and target angles of the anchor point device ball, and the initial and target angles of the other device balls.

[0171] During movement, the selected anchor device ball first sets its target rotation angle according to the shortest path direction (i.e., the anchor direction), and all other device balls prioritize rotating along their shortest paths. It then checks if the shortest paths of other device balls overlap with the shortest path of the anchor device ball. If they do, the rotation direction is updated to the opposite of the anchor direction, and the target rotation angle is redefined. If they do not overlap, the target rotation angle is used. Finally, the animation method is called to rotate all device balls simultaneously.

[0172] Step S5071: Determine the target rotation angle of the anchor point device ball with the anchor point direction as the rotation direction.

[0173] Step S5072: Determine the shortest path rotation direction of the i-th device ball based on the initial angle and target angle of the i-th device ball.

[0174] Step S5073: Determine whether the shortest path rotation direction of the i-th device ball is consistent with the anchor point direction of the anchor point device ball.

[0175] In this embodiment, the order of all device balls on the trust ring remains unchanged during rotation. When the shortest path rotation direction of the i-th device ball is consistent with the anchor point direction of the anchor point device ball, that is, the i-th device ball and the anchor point device ball rotate in the same direction, and the shortest path of the i-th device ball and the shortest path of the anchor point device ball do not overlap, then proceed to step S5075.

[0176] When the shortest path rotation direction of the i-th device ball is inconsistent with the anchor point direction of the anchor point device ball, that is, the i-th device ball and the anchor point device ball rotate in different directions, then proceed to step S5074.

[0177] Step S5074: Determine whether there is an overlapping path based on the shortest path rotation direction of the i-th device ball, the anchor point direction of the anchor point device ball, the initial angle and target angle of the i-th device ball, and the initial angle and target angle of the anchor point device ball.

[0178] The shortest path rotation direction of the i-th device sphere and the anchor point direction of the anchor sphere are denoted as `rotateDirection` and `anchorDirection`, respectively. The initial angle and target angle of the i-th device sphere are denoted as `mOriginAngle` and `mTargetAngle`, respectively. The initial angle and target angle of the anchor sphere are denoted as `anchorOriginAngle` and `anchorTargetAngle`, respectively. The existence of overlapping paths is determined according to the following rules, and the rotation direction is adjusted if overlapping paths exist:

[0179] 1) When the shortest path rotation direction rotateDirection of the i-th device ball is clockwise or not rotated, the anchor direction of the anchor device ball is counterclockwise or not rotated, and anchorTargetAngle < 360°, if mOriginAngle <= anchorTargetAngle and anchorTargetAngle < mTargetAngle, or if mOriginAngle <= anchorOriginAngle and anchorOriginAngle < mTargetAngle, it is determined that there is an overlapping path.

[0180] Update the anchor direction of the anchor device ball to clockwise or not rotated, and re-execute the above steps S5071 to S5074.

[0181] 2) When the shortest path rotation direction rotateDirection of the i-th device ball is counterclockwise or not rotated, the anchor direction of the anchor device ball is clockwise or not rotated, and anchorTargetAngele > 0°, if mTargetAngele <= anchorOriginAngle and anchorOriginAngle < mOriginAngle, or if mTargetAngele <= anchorTargetAngle and anchorTargetAngle < mOriginAngle, it is determined that there is an overlapping path.

[0182] Update the anchor direction of the anchor device ball to counterclockwise or not rotated, and re-execute the above steps S5071 to S5074.

[0183] 3) When (anchorTargetAngle >= 360 or anchorTargetAngle < 0) is true, and (mTargetAngele >= 360 or mTargetAngele < 0) is true, it is determined that there is an overlapping path.

[0184] Update the anchor direction of the anchor device ball to the reverse of the original anchor direction, that is, when the original anchor direction is clockwise, update the anchor direction of the anchor device ball to counterclockwise, and when the original anchor direction is counterclockwise, update the anchor direction of the anchor device ball to clockwise, and re-execute the above steps S5071 to S5074.

[0185] 4) When the shortest path rotation direction rotateDirection of the i-th device ball is clockwise, the anchor direction of the anchor device ball is counterclockwise or not rotated, and anchorTargetAngele < 0°, set fixedAnchorTargetAngele = 360° + anchorTargetAngele. If the condition: anchorOriginAngle < mOriginAngle and mTargetAngle < anchorTargetAngle is not satisfied, it is determined that there is an overlapping path.

[0186] Update the anchor direction of the anchor device ball to clockwise or not rotated, and re-execute the above steps S5071 to S5074.

[0187] 5) When the shortest path rotation direction rotateDirection of the i-th device ball is clockwise, the anchor direction of the anchor device ball is counterclockwise or not rotated, and anchorTargetAngele > 360°, set fixedAnchorTargetAngele = anchorTargetAngele - 360°. If the condition: anchorOriginAngle < mOriginAngle and mTargetAngle < anchorTargetAngle is not satisfied, it is determined that there is an overlapping path.

[0188] Update the anchor direction of the anchor device ball to clockwise or not rotated, and re-execute the above steps S5071 to S5074.

[0189] 6) If the above conditions 1) to 5) are not satisfied, it is determined that there is no overlapping path.

[0190] The shortest path of the i-th device ball does not overlap with the shortest path of the anchor device ball, and the current setting meets the requirements. Enter step S5075.

[0191] Step S5075, control the movement of each device ball.

[0192] In one implementation, when the electronic device controls the movement of each device ball, it can traverse all device balls for rotation and perform the following operations on each device ball:

[0193] 1) Obtain the initial angle mOriginAngle and the target angle mTargetAngle of each device ball.

[0194] 2) Define the animation playback progress value currentValue = 0.

[0195] The currentValue value for the animation playback progress ranges from [0,1], where 0 indicates that the animation has not started and 1 indicates that the animation has finished playing.

[0196] 3) Set up a periodically called function to split [0,1] into several equal parts n (e.g., 40 parts), set a certain animation playback time T (e.g., 600ms), and periodically add 1 part to currentValue every T / n duration (e.g., 15ms).

[0197] At time 0, currentValue = 0

[0198] At time T / n, currentValue = 1 / n

[0199] At time 2*T / n, currentValue = 2*1 / n

[0200] At time 3*T / n, currentValue = 3*1 / n

[0201]

[0202] At time T, currentValue = 1

[0203] 4) Periodically call the function to determine the coordinates of the current device sphere at the current moment. Update the device sphere coordinates by passing the parameter angle = mOriginAngle + currentValue * (mTargetAngle - mOriginAngle) to obtain (x, y).

[0204] 5) Determine the coordinates of the top left corner of the device sphere, leftTopPoint(leftTopPoint.x, leftTopPoint.y), based on the width and height of the device sphere.

[0205] Among them, leftTopPoint.x=x-width / 2; leftTopPoint.x=y-height / 2.

[0206] 6) Call the Android native interface layout() to move the device sphere to (leftTopPoint.x, leftTopPoint.y).

[0207] 7) Update the current rotation angle mCurrentAngle of the device ball to the passed-in parameter angle.

[0208] The movement of the device ball is now complete. Proceed to step S513.

[0209] Step S508: Determine whether the interactive operation is a second operation used to click on the device model in the interface.

[0210] If the user's input interaction is the second operation, that is, the user's current input interaction is a click operation on the device model corresponding to a device ball on the interface, then proceed to step S509. If the user's input interaction is not the second operation, proceed to step S511.

[0211] In this embodiment, the device model refers to the device window in the expanded state of the interface. According to the device interconnection interaction method provided in this embodiment, the device model in the interface of the device interconnection application can be as follows: Figure 7 The model of the local device unfolded in the middle can also be as follows: Figure 8 The models of other devices are expanded upon in the process.

[0212] Figure 2 and Figure 7 In the same scenario, both the existing technology and the device interconnection and interaction method provided in this application's embodiments perform the same operation: clicking the interface diagram output by the corresponding device ball on the local machine. Comparison Figure 2 and Figure 7 In this embodiment, when the model of the device is unfolded, it is rotated to a position of 270° on the trust ring before unfolding. Other device spheres are avoided, and the unfolded device model does not obstruct other device spheres, making it convenient for the user to operate other device spheres.

[0213] Figure 3 and Figure 8 These are the interface diagrams output when clicking on the device ball corresponding to another electronic device in the same scenario, in both existing technologies and the device interconnection and interaction methods provided in this application. Figure 3 and Figure 8 In this embodiment, when unfolding a model of another device, it is rotated to a position 90° from the trust ring before unfolding. Other devices are avoided, ensuring the unfolded device model does not exceed the display screen boundary, and the unfolding space is greater than [missing information]. Figure 3 The expanded space of the device model makes the expanded window of the device model larger, making it easier for users to operate.

[0214] In step S509, in response to the second operation, the device model is folded into a device sphere corresponding to the device model.

[0215] Step S510: Reset each device ball according to its initial angle, except for the anchor point device ball.

[0216] Based on the width, height, and initial angle of each device sphere, determine the top-left corner coordinates (leftTopPoint(leftTopPoint.x, leftTopPoint.y)) of each device sphere. Call layout() to move the device spheres to (leftTopPoint.x, leftTopPoint.y).

[0217] Step S511: Determine whether the interactive operation is a third operation used to drag the first device ball in the interface.

[0218] The first device ball is the currently dragged device ball. When the user drags the first device ball in the interface, proceed to step S512. If the interaction is not a third operation, proceed to step S513.

[0219] Step S512: Control the second device ball to move to the position indicated by the third operation.

[0220] Based on the position indicated by the user's third operation, the control device ball moves synchronously with the user's operation.

[0221] Step S513, End.

[0222] The method provided in this application embodiment dynamically adjusts the positions of each device on the trust ring when a user clicks on a device ball. By avoiding collisions, it provides sufficient space for the unfolded device model, making it easier for the user to operate. Furthermore, it ensures that the device ball moves smoothly and continuously during the adjustment and avoidance, thus improving the user experience.

[0223] Based on the above embodiments, this application further provides a device interconnection and interaction method applied to electronic devices, such as... Figure 9 As shown, the device interconnection and interaction method includes the following steps:

[0224] Step S901: In response to the received first operation for clicking the anchor device ball in the interface, obtain the current rotation angle of the anchor device ball and the type of the anchor device ball.

[0225] The types of anchor point equipment balls include a first type and a second type, where the first type indicates that the equipment corresponding to the anchor point equipment ball is the local machine, and the second type indicates that the equipment corresponding to the anchor point equipment ball is other equipment.

[0226] Step S902: Determine the initial angle, target angle, and anchor point direction of the anchor point device ball based on its current rotation angle and type.

[0227] The initial angle of the anchor point device ball is its current rotation angle. The current rotation angle of the anchor point device ball refers to the angle of clockwise rotation between the line connecting the center point of the anchor point device ball (i.e., the center of the circle) and the center of the trust ring, and the axis pointing to the right from the center of the trust ring. The current rotation angle ranges from [0°, 360°].

[0228] When the anchor device ball is of type 1, i.e., the current electronic device, the target angle of the anchor device ball is 270°. When the anchor device ball is of type 2, i.e., another electronic device, the target angle of the anchor device ball is 90°.

[0229] It is understood that the method for determining the anchor point direction in this application embodiment will not be described in detail, but can be referred to the aforementioned step S504.

[0230] Step S903: Obtain the number of device balls in the interface.

[0231] The number of devices is denoted as childCount. childCount can take values ​​of 1, 2, 3, 4, 5, and 6.

[0232] Step S904: Based on the number of equipment balls and the current rotation angle of the anchor point equipment ball, determine the initial angle and target angle of the other equipment balls besides the anchor point equipment ball.

[0233] It is understood that the determination methods of the initial angle and target angle of the ball of other devices in this application embodiment will not be described in detail. For details, please refer to the aforementioned step S506.

[0234] Step S905: Based on the anchor point direction, the initial and target angles of the anchor point device ball, and the initial and target angles of other device balls, control the movement of each device ball in the interface.

[0235] It is understood that the movement of the balls of each device in the interface in this embodiment will not be described in detail. For details, please refer to the aforementioned step S507.

[0236] The device interconnection and interaction method provided in this application determines the expansion position based on the type of the anchor device ball when the user clicks on it, and dynamically adjusts the position between each device ball. While ensuring that other device balls are not obstructed, it makes full use of the screen space to display the expanded window of the anchor device ball as large as possible, which is convenient for user operation.

[0237] In some embodiments, step S901 in the above embodiments, "determining the initial angle, target angle, and anchor point direction of the anchor point device ball based on its current rotation angle and type," can be implemented through the following steps:

[0238] Step S9011: Determine the initial angle of the anchor point device ball based on its current rotation angle.

[0239] Step S9012: Determine the target angle of the anchor point device ball according to its type.

[0240] Step S9013: Determine the anchor point direction of the anchor point device ball based on the initial angle and the target angle of the anchor point device ball.

[0241] In some embodiments, step S9013 in the above embodiments, "determining the anchor point direction of the anchor point device ball based on the initial angle and the target angle of the anchor point device ball," can be achieved through the following steps:

[0242] Step S90131: Determine the initial correction angle and the target correction angle based on the initial angle of the anchor point device ball and the target angle of the anchor point device ball.

[0243] It is understood that the determination method of the initial correction angle and the target correction angle in the embodiments of this application will not be described in detail. For details, please refer to the aforementioned step S5041.

[0244] Step S90132: Determine the anchor point direction based on the initial correction angle and the target correction angle.

[0245] It is understood that the method for determining the anchor point direction in this application embodiment will not be described in detail, but can be referred to the aforementioned step S5042.

[0246] In some embodiments, step S904 in the above embodiments, "determining the initial angle and target angle of the other equipment balls besides the anchor point equipment ball based on the number of equipment balls and the current rotation angle of the anchor point equipment ball," may include the following steps:

[0247] Step S9041: Determine the average distribution angle between each equipment ball based on the number of equipment balls.

[0248] In the initial state, the average distribution angle between the device balls on the trust ring is determined based on the number of device balls: averageAngle = 360 / childCount.

[0249] Step S9042: Determine the initial angles of other equipment balls besides the anchor point equipment ball based on the current rotation angle and average distribution angle of the anchor point equipment ball.

[0250] Each device's IP address is determined according to its login order. The first device to log in is the local machine, with IP = 0; the second device to log in has IP = 1, ..., and the sixth device to log in has IP = 5. Clearly, the range of IP is [0, childCount].

[0251] Based on the initial angle and average angle of the anchor point device ball, determine the initial angle of the i-th device ball as originAngle + i*averageAngle.

[0252] Step S9043: Determine the offset angle array based on the number of balls in the device.

[0253] The offset angle array is predefined data representing the offset angle array based on the anchor point device ball. Its value is: FOCUSED_DEVICE_BALL_RING_OFFSET_ANGLE_ARRAY = {

[0254] {0},

[0255] {0,180},

[0256] {0,135,225},

[0257] {0,108,180,252},

[0258] {0,95,148,212,265},

[0259] {0,90,135,180,225,270}}.

[0260] Step S9044: Determine the target angles of other device balls besides the anchor point device ball based on the target angle and offset angle array of the anchor point device ball.

[0261] Wherein, the target angle of the i-th device ball = the target angle of the anchor point device ball + FOCUSED_DEVICE_BALL_RING_OFFSET_ANGLE_ARRAY[childCount-1][i].

[0262] It is understood that the determination methods of the initial angle and target angle of the other device ball in the embodiments of this application will not be described in detail. For details, please refer to the aforementioned steps S5061 and S5062.

[0263] In some embodiments, step S905 in the above embodiments, "controlling the movement of each device ball in the interface according to the anchor point direction, the initial angle and target angle of the anchor point device ball, and the initial angle and target angle of other device balls," may include the following steps:

[0264] Step S9051: Using the anchor point direction as the rotation direction, determine the target rotation angle of the anchor point device ball.

[0265] Step S9052: Determine the shortest path rotation direction of each other device ball based on the initial angle and target angle of each other device ball.

[0266] Step S9053: Determine the rotation angle of each device ball in the interface based on the rotation direction and the shortest path rotation direction of each other device ball, the initial and target angles of each other device ball, and the initial and target angles of the anchor point device ball.

[0267] Step S9054: Control the movement of each device ball according to the rotation angle of each device ball.

[0268] It is understood that the movement of each device ball in the interface in this embodiment will not be described in detail. For details, please refer to the aforementioned steps S5071 to S5075.

[0269] In some embodiments, step S9053 in the above embodiments, "determining the rotation angle of each device ball in the interface based on the rotation direction and the shortest path rotation direction of each other device ball, the initial angle and target angle of each other device ball, and the initial angle and target angle of the anchor point device ball," may include the following steps:

[0270] Step S90531: Determine whether the rotation direction is consistent with the shortest path rotation direction of the balls in other devices.

[0271] If the rotation direction is consistent with the shortest path rotation direction of all other device balls, proceed to step S90532. If the rotation direction is inconsistent with the shortest path rotation direction of all other device balls, proceed to step S90534.

[0272] Step S90532: Determine the rotation angle of each other device ball based on the initial angle and target angle of each other device ball.

[0273] Step S90533: Determine the rotation angle of the anchor point device ball based on the target rotation angle.

[0274] Step S90534: Based on the initial and target angles of the other device balls and the initial and target angles of the anchor point device ball, if the shortest path of each other device ball overlaps with the shortest path of the anchor point device ball, update the rotation direction of the anchor point device ball to the opposite direction of the anchor point direction, and update the target rotation angle of the anchor point device ball.

[0275] Step S90535: Based on the updated rotation direction and the shortest path rotation direction of each other device ball, the initial and target angles of each other device ball, and the initial and target angles of the anchor point device ball, determine the rotation angle of each device ball in the interface.

[0276] Based on the above embodiments, this application further provides a device interconnection and interaction method applied to electronic devices, such as... Figure 10 As shown, the device interconnection and interaction method includes the following steps:

[0277] Step S1001: In response to the received second operation for clicking the device model in the interface, the device model is folded into a device ball corresponding to the device model.

[0278] Step S1002: Reset each device ball according to the initial angle of the other device balls except the anchor point device ball.

[0279] The device interconnection and interaction method provided in this application resets each device ball based on its initial angle when the user clicks on the device model. During the reset, the device balls move smoothly and continuously, avoiding abrupt movements, thus improving the user experience.

[0280] It is understood that, in order to achieve the aforementioned functions, the electronic device includes corresponding hardware structures and / or software modules for performing each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, the embodiments of the present invention can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in a hardware-driven or software-driven manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of the embodiments of this application.

[0281] This application embodiment can divide the above-described electronic device into functional modules based on the method example described above. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0282] When dividing each function into modules according to its corresponding function, refer to Figure 11 As shown in the figure, this application embodiment also provides a device interconnection and interaction device applied in an electronic device. The device interconnection and interaction device 1100 may include: an acquisition module 1101, a first determination module 1102, a second acquisition module 1103, a second determination module 1104, and a movement module 1105.

[0283] The first acquisition module 1101 can be used to acquire the current rotation angle of the anchor point device ball and the type of the anchor point device ball in response to a received first operation for clicking the anchor point device ball in the interface.

[0284] The first determining module 1102 can be used to determine the initial angle, target angle and anchor point direction of the anchor point device ball based on the current rotation angle of the anchor point device ball and the type of the anchor point device ball;

[0285] The second acquisition module 1103 can be used to acquire the number of device balls in the interface;

[0286] The second determining module 1104 can be used to determine the initial angle and target angle of other equipment balls besides the anchor point equipment ball based on the number of equipment balls and the current rotation angle of the anchor point equipment ball;

[0287] The moving module 1105 can be used to control the movement of each device ball in the interface according to the anchor point direction, the initial angle and target angle of the anchor point device ball, and the initial angle and target angle of the other device balls.

[0288] In some embodiments, the first determining module 1102 may be specifically used for:

[0289] The initial angle of the anchor point device ball is determined based on its current rotation angle.

[0290] Determine the target angle of the anchor point device ball based on its type;

[0291] The anchor point direction of the anchor point device ball is determined based on the initial angle and the target angle of the anchor point device ball.

[0292] In some embodiments, the first determining module 1102 may also be specifically used for:

[0293] Based on the initial angle and the target angle of the anchor point device ball, determine the initial correction angle and the target correction angle;

[0294] The anchor point direction is determined based on the initial correction angle and the target correction angle.

[0295] In some embodiments, the second determining module 1104 may be specifically used for:

[0296] Determine the average distribution angle between the equipment balls based on the number of equipment balls;

[0297] Based on the current rotation angle of the anchor point device ball and the average distribution angle, determine the initial angles of the other device balls besides the anchor point device ball;

[0298] Determine the offset angle array based on the number of balls in the device;

[0299] The target angles of the other equipment balls besides the anchor point equipment ball are determined based on the target angle of the anchor point equipment ball and the offset angle array.

[0300] In some embodiments, the moving module 1105 may be specifically used for:

[0301] Using the direction of the anchor point as the direction of rotation, determine the target rotation angle of the anchor point device ball;

[0302] Based on the initial angle and target angle of each of the other device balls, determine the shortest path rotation direction of each of the other device balls;

[0303] Based on the rotation direction and the shortest path rotation direction of each of the other device balls, the initial and target angles of each of the other device balls, and the initial and target angles of the anchor point device ball, the rotation angle of each device ball in the interface is determined.

[0304] The movement of each of the device balls is controlled according to the rotation angle of each of the device balls.

[0305] In some embodiments, the moving module 1105 may also be specifically used for:

[0306] When the rotation direction is consistent with the shortest path rotation direction of each of the other device balls, the rotation angle of each of the other device balls is determined according to the initial angle and the target angle of each of the other device balls;

[0307] The rotation angle of the anchor point device ball is determined based on the target rotation angle.

[0308] In some embodiments, the moving module 1105 may also be specifically used for:

[0309] If the rotation direction is inconsistent with the shortest path rotation direction of each of the other device balls, and if it is determined that the shortest path of each of the other device balls coincides with the shortest path of the anchor point device ball based on the initial and target angles of each of the other device balls and the initial and target angles of the anchor point device ball, then the rotation direction of the anchor point device ball is updated to the opposite of the anchor point direction, and the target rotation angle of the anchor point device ball is updated.

[0310] Based on the updated rotation direction and the shortest path rotation direction of each of the other device balls, the initial and target angles of each of the other device balls, and the initial and target angles of the anchor point device ball, the rotation angle of each device ball in the interface is determined.

[0311] In some embodiments, the device interconnection and interaction device 1100 may include: a folding module and a reset module;

[0312] The folding module can be used to fold the device model into a device ball corresponding to the device model in response to a second operation received for clicking the device model in the interface;

[0313] The reset module can be used to reset each of the equipment balls according to the initial angle of the equipment balls other than the anchor point equipment ball.

[0314] Regarding the device interconnection and interaction apparatus in the above embodiments, the specific methods by which each module performs its operations have been described in detail in the embodiments of the device interconnection and interaction method described above, and will not be elaborated here. The related beneficial effects can also be referred to the related beneficial effects of the aforementioned device interconnection and interaction method, and will not be repeated here.

[0315] This application also provides an electronic device, which includes: a display screen, a memory, and one or more processors; the display screen, the memory, and the processors are coupled; wherein, the memory stores computer program code, which includes computer instructions, and when the computer instructions are executed by the processor, the electronic device performs the device interconnection and interaction method provided in the foregoing embodiments. The specific structure of this electronic device can be referred to... Figure 4 The structure of the electronic device shown is illustrated.

[0316] This application also provides a computer-readable storage medium including computer instructions that, when executed on an electronic device, cause the electronic device to perform the device interconnection and interaction method provided in the foregoing embodiments.

[0317] This application also provides a computer program product containing executable instructions that, when run on an electronic device, cause the electronic device to perform the device interconnection and interaction method provided in the foregoing embodiments.

[0318] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0319] In the several embodiments provided in this application, it should be understood that the disclosed apparatus / device and method can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0320] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0321] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0322] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially or in other words, the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0323] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A device interconnection interaction method applied to an electronic device, characterized in that, The method comprises: in response to the received first operation for clicking the anchor device ball in the interface, obtaining the current rotation angle of the anchor device ball and the type of the anchor device ball; determining the initial angle, target angle and anchor direction of the anchor device ball according to the current rotation angle of the anchor device ball and the type of the anchor device ball; obtaining the number of device balls in the interface; determining the initial angle and target angle of each device ball other than the anchor device ball according to the number of device balls and the current rotation angle of the anchor device ball; determining the target rotation angle of the anchor device ball as the rotation direction of the anchor direction; determining the shortest path rotation direction of each of the other device balls according to the initial angle and target angle of each of the other device balls; in the case where the rotation direction and the shortest path rotation direction of each of the other device balls are inconsistent, if the shortest path of each of the other device balls coincides with the shortest path of the anchor device ball according to the initial angle and target angle of each of the other device balls, the initial angle and target angle of the anchor device ball, the rotation direction of the anchor device ball is updated to the reverse of the anchor direction, and the target rotation angle of the anchor device ball is updated; determining the rotation angle of each device ball in the interface according to the updated rotation direction and the shortest path rotation direction of each of the other device balls, the initial angle and target angle of each of the other device balls, and the initial angle and target angle of the anchor device ball; controlling the movement of each device ball according to the rotation angle of each device ball.

2. The method of claim 1, wherein, The determination of the initial angle, target angle and anchor direction of the anchor device ball according to the current rotation angle of the anchor device ball and the type of the anchor device ball comprises: determining the initial angle of the anchor device ball according to the current rotation angle of the anchor device ball; determining the target angle of the anchor device ball according to the type of the anchor device ball; determining the anchor direction of the anchor device ball according to the initial angle of the anchor device ball and the target angle of the anchor device ball.

3. The method of claim 2, wherein, The determination of the anchor direction of the anchor device ball according to the initial angle of the anchor device ball and the target angle of the anchor device ball comprises: determining the initial correction angle and the target correction angle according to the initial angle of the anchor device ball and the target angle of the anchor device ball; determining the anchor direction according to the initial correction angle and the target correction angle.

4. The method of claim 1, wherein, The determination of the initial angle and target angle of each device ball other than the anchor device ball according to the number of device balls and the current rotation angle of the anchor device ball comprises: determining the average distribution angle between each device ball according to the number of device balls; determining the initial angle of each device ball other than the anchor device ball according to the current rotation angle of the anchor device ball and the average distribution angle; determining an offset angle array according to the number of device balls; According to the target angle of the anchor device ball and the offset angle array, a target angle of each of the other device balls except the anchor device ball is determined.

5. The method of claim 3, wherein, After determining the shortest path rotation direction of each of the other device balls according to the initial angle and the target angle of each of the other device balls, the method further comprises: In a case where the rotation direction and the shortest path rotation direction of each of the other device balls are consistent, a rotation angle of each of the other device balls is determined according to the initial angle and the target angle of each of the other device balls. According to the target rotation angle, a rotation angle of the anchor device ball is determined.

6. The method of claim 1, wherein, The method further comprises: In response to the received second operation for clicking the device model in the interface, the device model is folded into a device ball corresponding to the device model. According to the initial angle of each of the other device balls except the anchor device ball, each of the device balls is reset.

7. An electronic device, comprising: Comprise: A display screen, a memory and one or more processors; the display screen, the memory and the processor are coupled; wherein the memory stores computer program code, the computer program code comprises computer instructions, when the computer instructions are executed by the processor, the electronic device executes the device interconnection interaction method as claimed in any one of claims 1-6.

8. A computer-readable storage medium, characterized in that, Comprise computer instructions, when the computer instructions run on an electronic device, the electronic device executes the device interconnection interaction method as claimed in any one of claims 1-6.

Citation Information

Patent Citations

  • Interface interaction method and device

    CN104267879A