Method and apparatus for sharing files
By establishing close-range connections and creating virtual spaces between electronic devices, and categorizing and displaying files, the problems of inconvenient searching and network dependence in file sharing are solved, enabling efficient and secure file sharing and downloading.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2021-10-15
- Publication Date
- 2026-04-28
AI Technical Summary
Existing file-sharing methods in social applications result in files and chat content being mixed together, making it inconvenient for users to search for files and relying on server and network conditions.
By establishing proximity connections between electronic devices, virtual spaces can be created, files can be categorized and displayed, end-to-end sharing can be achieved using URL links, file sources and characteristic parameters can be displayed, and download paths can be optimized to reduce network dependence.
It enables file categorization and display without server intervention, improving user search efficiency, enhancing file security and download efficiency, and reducing dependence on network conditions.
Smart Images

Figure CN115982106B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of short-range communication technology, and in particular to a method and device for file sharing. Background Technology
[0002] With the increasing need for social interaction, multiple users frequently share photos, videos, and various other types of files. Currently, the main sharing methods include sharing through social applications (apps) such as WeChat. When sharing, a user first needs to create a WeChat group, and then the sharing user in the group selects a local file to share. Other users in the group can then download the shared file. However, when sharing files in a WeChat group, the shared files and chat content are mixed together, and files shared by different users are displayed under the corresponding sharing user's identifier according to the sharing time, making it inconvenient for users to find the files. Summary of the Invention
[0003] The purpose of this application is to provide a file sharing method and device that can classify and display files shared by different electronic devices without the intervention and existence of a server, making it convenient for users to search for files.
[0004] In a first aspect, one embodiment of this application provides a file sharing method, the method comprising: establishing a proximity connection between a first electronic device and at least one second electronic device; a first user logging into a first application on the first electronic device, and a second user logging into the first application on the second electronic device; the first electronic device displaying a virtual space interface of the first user, the virtual space interface being the interface of the first application, the virtual space interface of the first user displaying a first identifier and one or more second identifiers, the first identifier being a first user identifier or a first electronic device identifier, and the second identifiers being a second user identifier or a second electronic device identifier; the first identifier being displayed in a first area, and one or more second identifiers being displayed in a second area; the location of the second area being different from the location of the first area; the first area being used to display a list of members who have joined the virtual space, and the second area being used for... The system displays a list of users who are not currently in the virtual space and whose corresponding second electronic devices are involved. Upon inviting a new member to join the virtual space or receiving a request to join, the first electronic device adjusts the new member's identifier from the second area to the first area. The new member is one or more users among the second users corresponding to the second identifier, and the new member's identifier is one or more of the second identifiers. The new member corresponds to a third electronic device, which is one of the at least one second electronic device. Electronic devices that have joined the virtual space can share files. The first electronic device displays at least one file set in the third area of the first user's virtual space interface. Each file set includes one or more files belonging to the same category, and each file set is obtained by categorizing the files shared by the first electronic device and the third electronic device in the virtual space.
[0005] In the first aspect of this application, the request to invite a new member to join the virtual space can be implemented in two ways: either by inviting the new member to join the virtual space without requiring their consent, or by inviting the new member to join the virtual space and then receiving their consent. Receiving a request to join the virtual space means the new member actively requests to join, and the user on the local machine confirms their consent before adding the new member. By displaying a list of users currently not in the virtual space and corresponding to a second electronic device in the second area, and adjusting the new member's identifier from the second area to the first area when they join the virtual space, the creation of groups within the virtual space is facilitated. Furthermore, by clustering files from different electronic devices and displaying them by category in temporary groups, the efficiency of users searching for shared files is improved.
[0006] According to some embodiments of this application, establishing a proximity connection between the first electronic device and at least one second electronic device includes: the first electronic device directly or indirectly discovering the second electronic device; the second electronic device includes a first target electronic device identified by the first electronic device from one or more devices discovered through a proximity communication unit, and a second target electronic device directly or indirectly discovered by the first target electronic device; the first electronic device and the second electronic device establish a proximity connection. This application, by having the second electronic device be a device directly or indirectly discovered by the first user's first electronic device, increases the sources of shared files and accelerates the dissemination of information.
[0007] According to some embodiments of this application, the first target electronic device is within a preset threshold distance from the first electronic device and is a contact of the first electronic device in the application. This application ensures the security of the sharing source by ensuring that the first target electronic device is within a preset threshold distance from the first electronic device and is a contact of the first electronic device in the first application.
[0008] According to some embodiments of this application, before the first electronic device establishes a proximity connection with at least one second electronic device, the method further includes: the first electronic device receiving an instruction to create a virtual space; the establishment of a proximity connection between the first electronic device and at least one second electronic device includes: in response to the instruction to create a virtual space, the first electronic device establishes a proximity connection with at least one second electronic device. This application creates a virtual space based on an instruction to create a virtual space without requiring server access, thus facilitating the creation of virtual spaces.
[0009] According to some embodiments of this application, before the first electronic device displays at least one set of files in the third area of the first user's virtual space interface, the method further includes: the first electronic device, based on a file sharing request from the first electronic device or a sharing request received from the third electronic device including a URL link of the shared file, displays a thumbnail or name of the file in the third area of the first user's virtual space interface according to the URL link of the shared file. This application, by sharing the URL of the corresponding file when sharing files in the virtual space, eliminates the need to upload the file to the cloud, enabling end-to-end offline file sharing, reducing dependence on network conditions, and enhancing the protection of user file security.
[0010] According to some embodiments of this application, the file shared by the first electronic device in the virtual space is a first file, and the type of the first file is a first type. The file shared by the third electronic device in the virtual space is a second file, and the type of the second file is a second type. Displaying at least one file set in the third area of the first user's virtual space interface by the first electronic device includes: the first electronic device receiving multiple files sent by the third electronic device, wherein the multiple files are a preset number of files extracted by the third electronic device from the second type of files; if the characteristic parameters of the multiple files are the same as the characteristic parameters of the first file, the first electronic device displays the first file and the second file under the same file set in the third area of the first user's virtual space interface. This application improves the efficiency of file browsing and selection by multiple users in the virtual space by clustering and displaying files with the same characteristic parameters from different devices based on existing file classifications on different devices.
[0011] According to some embodiments of this application, displaying at least one file set in the third area of the first user's virtual space interface by the first electronic device further includes: if the characteristic parameters of the plurality of files are different from the characteristic parameters of the first file, the first electronic device displays the first file and the second file under different file sets in the third area of the first user's virtual space interface. This application improves the efficiency of file browsing and selection by multiple users in the virtual space by classifying and displaying files with different characteristic parameters from different devices according to existing file classifications on different devices.
[0012] According to some embodiments of this application, the method further includes: the first electronic device displaying the source on the file information under each file set, wherein the source is the user identifier or electronic device identifier that shared the file. This application avoids duplicate file sharing and facilitates file viewing for other users by displaying the source on the file information.
[0013] According to some embodiments of this application, the method further includes: the first electronic device receiving an operation on a file or file set in a third area of the first user's virtual space interface, selecting a file to be downloaded; the file to be downloaded is a file shared by electronic devices among multiple third electronic devices; in response to the operation of downloading the file to be downloaded, the first electronic device displays the downloaded file in a fourth area of the first user's virtual space interface; the source of the file is displayed on the downloaded file, the source being the identifier of the user or electronic device that shared the file. This application avoids duplicate file downloads by displaying the downloaded file and showing the source of the file on the downloaded file.
[0014] According to some embodiments of this application, in response to the operation of downloading the file to be downloaded, the first electronic device displays the downloaded file in the fourth area of the first user's virtual space interface, including: the first electronic device, in response to the operation of downloading the file to be downloaded, sends a multicast discovery request to the network space according to the URL link of the file to be downloaded, requesting the network space to broadcast an SSDP protocol request to other electronic devices in the network to request the optimal downloading electronic device for the file to be downloaded in the network; the network space is a multicast address composed of address information in a routing table; the routing table is the current address of the electronic devices in the virtual space; the first electronic device determines the optimal downloading electronic device for the file to be downloaded based on the network information of electronic devices that have downloaded the file to be downloaded fed back by the network space; the first electronic device downloads the file to be downloaded by connecting to the optimal downloading electronic device; and the first electronic device displays the downloaded file in the fourth area of the first user's virtual space interface. This application, by searching all devices that have downloaded files in the network, deciding to find the optimal downloading electronic device, and prioritizing receiving files from the optimal downloading electronic device through point-to-point communication, can reduce network traffic and improve file download efficiency.
[0015] According to some embodiments of this application, the method further includes: the first electronic device sending a multicast notification request to the network space, the multicast notification request being used to request to announce to other electronic devices in the network that the file to be downloaded has been downloaded. This application facilitates other electronic devices to download the file by announcing that the file has been downloaded.
[0016] Secondly, an embodiment of this application also provides a file sharing method, the method comprising: a second electronic device establishing a proximity connection with a first electronic device; a first user logging into a first application on the first electronic device, and a second user logging into the first application on the second electronic device; based on an active application to join a virtual space established by the first electronic device or an invitation to join a virtual space established by the first electronic device, the second electronic device displays the virtual space interface of the second user, the virtual space interface being the interface of the first application, the virtual space interface of the second user displaying a first identifier and a second identifier, the first identifier being a first user identifier or a first electronic device identifier, and the second identifier being a second user identifier or a second electronic device identifier; the first identifier and the second identifier being displayed in a first area; the first area being used to display a list of members who have joined the virtual space; electronic devices that have joined the virtual space being able to share files; the second electronic device displaying at least one file set in a second area of the virtual space interface of the second user, each file set including one or more files belonging to the same category, each file set being obtained by classifying the files shared by the first electronic device and the second electronic device in the virtual space.
[0017] In a second aspect of this application, based on a request to actively join a virtual space established by a first electronic device or to receive an invitation to join a virtual space established by a first electronic device, the establishment of groups in the virtual space is facilitated by displaying the first identifier of the corresponding first electronic device and the second identifier of the corresponding second electronic device in the virtual space already joined in the first area. By clustering files from different electronic devices and displaying them by category in a temporary group, the efficiency of users querying and sharing files is improved.
[0018] According to some embodiments of this application, before the second electronic device displays the virtual space interface of the second user, the method further includes: the second electronic device establishing a proximity connection with at least one fourth electronic device; the fourth user logging into the first application on the fourth electronic device; a fourth identifier also being displayed in the virtual space interface of the second user, the fourth identifier being a fourth user identifier or a fourth electronic device identifier; the fourth identifier being displayed in a third area; the position of the third area being different from the position of the first area; the third area being used to display a list of users who are not currently in the virtual space. This application, by displaying the fourth identifier of the corresponding fourth electronic device that is not currently in the virtual space in the third area, prompts the user of members who are not currently in the virtual space, facilitating the creation of groups in the virtual space.
[0019] According to some embodiments of this application, the first electronic device is within a preset threshold distance from the second electronic device, and the first electronic device and the second electronic device are contacts in the first application. This application ensures the security of the sharing source by ensuring that the first electronic device is within a preset threshold distance from the second electronic device and is a contact in the first application.
[0020] According to some embodiments of this application, establishing a proximity connection between the second electronic device and at least one fourth electronic device includes: the second electronic device directly or indirectly discovering the fourth electronic device; the fourth electronic device includes a first target electronic device identified by the second electronic device from one or more devices discovered through a proximity communication unit, and a second target electronic device directly or indirectly discovered by the first target electronic device; the second electronic device establishes a proximity connection with the fourth electronic device. This application, by having the fourth electronic device directly or indirectly discover devices for the second user's second electronic device, increases the sources of shared files and accelerates the dissemination of information.
[0021] According to some embodiments of this application, the first target electronic device is within a preset threshold distance from the second electronic device, and the first target electronic device is a contact of the second electronic device in the application. This application ensures the security of the sharing source by ensuring that the first target electronic device is within a preset threshold distance from the second electronic device and is a contact of the second electronic device in the first application.
[0022] According to some embodiments of this application, before the second electronic device displays at least one set of files in the second area of the second user's virtual space interface, the method further includes: the second electronic device, based on a file sharing request from the second electronic device or a sharing request received from the first electronic device including a URL link for the shared file, displays a thumbnail or name of the file in the second area of the second user's virtual space interface according to the URL link of the shared file. This application, by sharing the URL of the corresponding file when sharing files in the virtual space, eliminates the need to upload the file to the cloud, enabling end-to-end offline file sharing, reducing dependence on network conditions, and enhancing the protection of user file security.
[0023] According to some embodiments of this application, the file shared by the first electronic device in the virtual space is a first file, and the type of the first file is a first type. The file shared by the second electronic device in the virtual space is a second file, and the type of the second file is a second type. Displaying at least one file set in the second area of the second user's virtual space interface by the second electronic device includes: the second electronic device receiving multiple files sent by the first electronic device, wherein the multiple files are a preset number of files extracted by the first electronic device from the first type of files; if the characteristic parameters of the multiple files are the same as the characteristic parameters of the second file, the second electronic device displays the first file and the second file under the same file set in the second area of the second user's virtual space interface. This application improves the efficiency of file browsing and selection by multiple users in the virtual space by clustering and displaying files with the same characteristic parameters from different devices based on existing file classifications on different devices.
[0024] According to some embodiments of this application, displaying at least one file set in the second area of the second user's virtual space interface by the second electronic device further includes: if the characteristic parameters of the plurality of files are different from the characteristic parameters of the second file, the second electronic device displays the first file and the second file under different file sets in the second area of the second user's virtual space interface. This application improves the efficiency of file browsing and selection by multiple users in a virtual space by classifying and displaying files with different characteristic parameters from different devices based on existing file classifications on different devices.
[0025] According to some embodiments of this application, the method further includes: the second electronic device displaying the source on the file information under each file set, wherein the source is the user identifier or electronic device identifier that shared the file. This application avoids duplicate file sharing and facilitates file viewing for other users by displaying the source on the file information.
[0026] According to some embodiments of this application, the method further includes: the second electronic device receiving an operation on a file or file set in a second area of the second user's virtual space interface, selecting a file to be downloaded; the file to be downloaded is a file shared by other electronic devices that have joined the virtual space; in response to the operation of downloading the file to be downloaded, the second electronic device displays the downloaded file in a fourth area of the second user's virtual space interface; the source of the file is displayed on the downloaded file, the source being the identifier of the user or electronic device that shared the file. This application avoids duplicate file downloads by displaying the downloaded file and showing the source of the file on the downloaded file.
[0027] According to some embodiments of this application, in response to the operation of downloading the file to be downloaded, the second electronic device displays the downloaded file in the fourth area of the second user's virtual space interface, including: the second electronic device, in response to the operation of downloading the file to be downloaded, sends a multicast discovery request to the network space according to the URL link of the file to be downloaded, requesting the network space to broadcast an SSDP protocol request to other electronic devices in the network to request the optimal downloading electronic device for the file to be downloaded in the network; the network space is a multicast address composed of address information in a routing table; the routing table is the current address of the electronic devices in the virtual space; the second electronic device determines the optimal downloading electronic device for the file to be downloaded based on the network information of electronic devices that have downloaded the file to be downloaded fed back by the network space; the second electronic device downloads the file to be downloaded by connecting to the optimal downloading electronic device; and the second electronic device displays the downloaded file in the fourth area of the second user's virtual space interface. This application, by searching all devices that have downloaded files in the network, deciding to find the optimal downloading electronic device, and prioritizing receiving files from the optimal downloading electronic device through point-to-point communication, can reduce network traffic and improve file download efficiency.
[0028] According to some embodiments of this application, the method further includes: the second electronic device sending a multicast notification request to the network space, the multicast notification request being used to request to announce to other electronic devices in the network that the file to be downloaded has been downloaded. This application facilitates other electronic devices to download the file by announcing that the file has been downloaded.
[0029] Thirdly, an embodiment of this application also provides an electronic device, including a processor, a memory, and a display screen; wherein the memory is used to store computer execution instructions; when the electronic device is running, the processor executes the computer execution instructions to cause the electronic device to perform the method described in any possible implementation of the first or second aspect above.
[0030] Fourthly, an embodiment of this application also provides a computer storage medium including computer execution instructions that, when executed on an electronic device, cause the electronic device to perform the method described in any of the possible implementations of the first or second aspect above.
[0031] Fifthly, an embodiment of this application also provides a computer program product, wherein the program code contained in the computer program product, when executed by a processor in an electronic device, implements the method described in any of the possible implementations of the first or second aspect above.
[0032] For a detailed description of aspects three through five and their various implementations in this application, please refer to the detailed descriptions in aspects one and two and their various implementations; and for a detailed analysis of the beneficial effects of aspects three through five and their various implementations in aspects one and two and their various implementations, please refer to the beneficial effect analyses in aspects one and two and their various implementations, which will not be repeated here. Attached Figure Description
[0033] Figure 1 This is a schematic diagram of the application environment of an embodiment of this application.
[0034] Figure 2 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of this application.
[0035] Figure 3 This is a software structure block diagram of an electronic device according to an embodiment of this application.
[0036] Figures 4A-4C This is a schematic diagram of the interface for creating a virtual space according to an embodiment of this application.
[0037] Figure 5A and Figure 5B This is a schematic diagram of the interface for discovering a device located within the sensing range of virtual space, according to an embodiment of this application.
[0038] Figures 6A-6C This is a schematic diagram of the interface for inviting a device to enter a virtual space according to an embodiment of this application.
[0039] Figures 7A-7C This is a schematic diagram of the interface for receiving an invitation to join a virtual space according to an embodiment of this application.
[0040] Figures 8A-8C This is a schematic diagram of the interface for adding a virtual space according to an embodiment of this application.
[0041] Figures 9A-9C This is a schematic diagram of the interface for granting permission for a device to enter virtual space, according to an embodiment of this application.
[0042] Figures 10A-10D This is a schematic diagram of an interface for sharing files in a virtual space according to an embodiment of this application.
[0043] Figure 11A and Figure 11B This is a schematic diagram illustrating the principle of sharing files in virtual space according to an embodiment of this application.
[0044] Figure 12A and Figure 12B This is a schematic diagram of an interface for sharing files in virtual space, according to another embodiment of this application.
[0045] Figures 13A-13C This is a schematic diagram of an interface for receiving files in virtual space according to an embodiment of this application.
[0046] Figure 14 This is a schematic diagram of a file download method in a file sharing method according to an embodiment of this application.
[0047] Figures 15A-15D This is a schematic diagram of an interface for classifying shared files in a virtual space, according to an embodiment of this application.
[0048] Figure 16A This is a schematic diagram of a file classification method in a file sharing method according to an embodiment of this application.
[0049] Figure 16B This is a schematic diagram of an interface for classifying files shared by different devices in virtual space, according to an embodiment of this application.
[0050] Figures 17A-17C This is a schematic diagram of the interface for exiting a virtual space without creating an electronic device, according to an embodiment of this application.
[0051] Figures 18A-18C This is a schematic diagram of the interface for exiting a virtual space without creating an electronic device, according to another embodiment of this application.
[0052] Figures 19A-19C This is a schematic diagram of the interface for creating a virtual space for an electronic device according to an embodiment of this application.
[0053] Figure 20 This is a flowchart illustrating a file sharing method according to an embodiment of this application.
[0054] Figure 21 This is a schematic block diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0055] Hereinafter, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of the stated features. In the description of embodiments of this application, words such as "for example" are used to indicate exemplification, illustration, or description. Any embodiment or design scheme described as "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of words such as "for example" is intended to present the relevant concepts in a concrete manner.
[0056] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiments of this application pertain. The terminology used in this application's specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. It should be understood that, unless otherwise stated in the embodiments of this application, "a plurality of" means two or more.
[0057] refer to Figure 1 This is a schematic diagram illustrating the application environment of an embodiment of this application. Figure 1As shown, the sharing system includes multiple electronic devices 10, 20, and 30. These electronic devices can be at least one of the following: mobile phones, foldable electronic devices, tablets, desktop computers, laptops, handheld computers, ultra-mobile personal computers (UMPCs), netbooks, cellular phones, personal digital assistants (PDAs), wearable devices, in-vehicle devices, or smart home devices. The multiple electronic devices can communicate with each other. Each electronic device includes a client 11 and a proximity communication unit 12. The client 11 can be a communication application running on the electronic device 10, such as WeChat or a similar app. The proximity communication unit 12 can be a UWB communication unit, Bluetooth communication unit, or Wi-Fi communication unit. The electronic device 10 can establish a virtual space in the communication application, discover nearby electronic devices 20 and 30 through the proximity communication unit 12, and determine the distance of electronic devices 20 and 30 relative to the electronic device 10. The electronic device 10 can identify the target electronic device from among the nearby electronic devices 20 and 30 and display all target electronic devices. The target electronic device is defined as one that is within a preset threshold distance of electronic device 10 and is a contact of electronic device 10 in the communication application. Correspondingly, each of the one or more target electronic devices can identify its own target electronic device, just like electronic device 10. Target electronic devices can actively or passively join the virtual space. Multiple electronic devices in the virtual space can share files, categorize and display files, and download files. Figure 1 The image shows electronic devices 20 and 30 near electronic device 10, but it is understood that the number of electronic devices near electronic device 10 may also be one, three, four, or more.
[0058] refer to Figure 2 The diagram shown is a hardware structure schematic of an electronic device according to an embodiment of this application. The electronic device 100 may include at least one of the following: a mobile phone with image capture capability, a foldable electronic device, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a laptop, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), a wearable device, an in-vehicle device, or a smart home device. This application embodiment does not impose any special limitations on the specific type of the electronic device 100.
[0059] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) connector 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identification module (SIM) card interface 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.
[0060] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0061] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.
[0062] The processor can generate operation control signals based on the instruction opcode and timing signals to control the instruction fetching and execution.
[0063] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 may be a cache memory. This memory can store instructions or data that the processor 110 has used or that are used frequently. If the processor 110 needs to use the instruction or data, it can retrieve it directly from this memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0064] In some embodiments, the processor 110 may include one or more interfaces. These 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. The processor 110 can connect to modules such as touch sensors, audio modules, wireless communication modules, displays, and cameras through at least one of these interfaces.
[0065] 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 structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0066] USB connector 130 is a USB standard-compliant interface that can be used to connect electronic device 100 and peripheral devices, specifically a Mini USB connector, Micro USB connector, USB Type C connector, etc.
[0067] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.
[0068] 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 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, 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.
[0069] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0070] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0071] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. 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 may 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 may be housed in the same device.
[0072] 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 an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. 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.
[0073] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), Bluetooth Low Energy (BLE), ultra-wideband (UWB), 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.
[0074] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other electronic devices via wireless communication technology. This wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0075] Electronic device 100 can implement display functions through a GPU, display screen 194, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the 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.
[0076] Display screen 194 is used to display images, videos, etc. Display screen 194 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 miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or more display screens 194.
[0077] Electronic device 100 can realize camera function through camera module 193, ISP, video codec, GPU, display screen 194, application processor AP, neural network processor NPU, etc.
[0078] The camera module 193 can be used to acquire color image data and depth data of the subject. The Information Service Provider (ISP) can be used to process the color image data acquired by the camera module 193. 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 photosensitive element transmits this electrical signal to the ISP for processing, converting it into a visible image. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set within the camera module 193.
[0079] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to perform data storage functions.
[0080] Internal memory 121 can be used to store computer executable program code, including instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phone book, etc.). In addition, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional methods or data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory disposed in the processor.
[0081] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0082] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0083] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music through the speaker 170A or output audio signals for hands-free calling.
[0084] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.
[0085] The microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals.
[0086] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0087] Button 190 may include a power button, volume buttons, etc.
[0088] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback.
[0089] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0090] The SIM card interface 195 is used to connect the SIM card.
[0091] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100.
[0092] Figure 3 This is a software structure block diagram of the electronic device 100 according to an embodiment of this application.
[0093] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into five layers, from top to bottom: the application layer, the application framework layer, the Android runtime (ART) and native C / C++ libraries, the Hardware Abstraction Layer (HAL), and the kernel layer.
[0094] The application layer can include a series of application packages.
[0095] like Figure 3 As shown, the application package may include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS. Applications such as Changlian.
[0096] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0097] like Figure 3 As shown, the application framework layer may include a window manager, content provider, view system, resource manager, notification manager, activity manager, input manager, etc.
[0098] The window manager provides Window Manager Service (WMS), which can be used for window management, window animation management, surface management, and as a relay station for the input system.
[0099] Content providers store and retrieve data, making that data accessible to applications. This data can include videos, images, audio, phone calls made and received, browsing history and bookmarks, phone books, etc.
[0100] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.
[0101] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.
[0102] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.
[0103] The Activity Manager Service (AMS) can be used to start, switch, and schedule system components (such as activities, services, content providers, and broadcast receivers), as well as manage and schedule application processes.
[0104] The Input Manager Service (IMS) provides input management services, which can be used to manage system inputs such as touchscreen input, keypad input, and sensor input. IMS retrieves events from input device nodes and, through interaction with the WMS (Windows Management System), distributes these events to appropriate windows.
[0105] The Android runtime consists of the core libraries and the Android runtime itself. The Android runtime is responsible for converting source code into machine code. The Android runtime primarily employs ahead-of-time (AOT) compilation and just-in-time (JIT) compilation techniques.
[0106] The core library primarily provides basic Java class library functionalities, such as libraries for fundamental data structures, mathematics, I / O, tools, databases, and networking. It also provides APIs for users to develop Android applications.
[0107] Native C / C++ libraries can include multiple functional modules. Examples include: surface manager, media framework, libc, OpenGL ES, SQLite, Webkit, etc.
[0108] The Surface Manager manages the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The Media Framework supports playback and recording of various common audio and video formats, as well as still image files. The Media Library supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. OpenGL ES provides drawing and manipulation of 2D and 3D graphics in applications. SQLite provides a lightweight relational database for applications on the electronic device.
[0109] The Hardware Abstraction Layer (HAL) runs in user space, encapsulates kernel-level drivers, and provides calling interfaces to the upper layers.
[0110] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.
[0111] The following example, using a scene of capturing a photograph, illustrates the workflow of the electronic device's software and hardware.
[0112] When the touch sensor 180K receives a touch operation, the corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer retrieves the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking a single touch operation as an example, where the corresponding control is the camera application icon, the camera application calls the application framework layer's interface to launch the camera application, and then calls the kernel layer to launch the camera driver, capturing still images or videos through the camera.
[0113] For ease of understanding, the following embodiments of this application will be described using the following methods: Figure 2 and Figure 3 Taking the electronic device with the structure shown as an example, and in conjunction with the accompanying drawings and application scenarios, the file sharing method provided in this application embodiment will be specifically described.
[0114] Users log in to communication applications (e.g.) using an account and password. After logging into a communication app such as Changlian, the main interface of the communication application will be displayed on the electronic device. The following explanation uses Changlian login as an example, but this application is not limited to Changlian. The main interface of Changlian is shown below (410). Figure 4A As shown. In Figure 4A In the main interface 410, there are a status bar 411, a task bar 412, a title bar 413, a content bar 414, and a menu bar 415. The status bar 411 may include signal strength, time, and current remaining battery power. It should be understood that the status bar 411 may display more or less information than shown in the diagram; for example, it may also include the operator's name (e.g., China Mobile), a WiFi icon, Bluetooth, an alarm clock, etc., which is not limited in this application. The task bar 412 may include a search function, a "+" sign function, and a user identifier. The search function displays a text input box in response to touch operations, allowing users to enter content to search for specific information. The user identifier identifies the user logged into the MeeTime application. Figure 4A In the interface, the user identifier is an avatar. It is understood that the user identifier can also be a nickname, account, etc. The title bar 413 can be used to indicate the current page; for example, "Changlian" indicates that the current page is the "Changlian" user interface. The content bar 414 can include one or more contacts and / or one or more devices that the user has recently communicated with in the Changlian application, or those that are pinned to the top of the list. Contacts can be public accounts, users, groups, etc. For example, the content bar 414 includes contact A, contact B, and contact C, etc. Contacts can include contact icons. Contact icons are used to identify contacts. The contact icons can include avatars, nicknames, accounts, etc. The menu bar 415 can include multiple controls, such as "Call," "Changlian," and "Contacts." Figure 4AIn the image, the currently selected control is "Changlian". This is understandable. Figure 4A This is an example of the main interface 410 of Changlian. This application does not limit the content and form of the main interface 410 of Changlian.
[0115] When using Changlian, if a user wants to share a file, they can use the "+" sign. For example, if the user clicks the "+" sign, ... Figure 4A As shown. In response to clicking the "+" sign, electronic device B expands the "+" menu on the main interface of the Connect app, as shown. Figure 4B As shown. In Figure 4B In the menu 420, which expands upon the "+" sign, options such as "Create Virtual Space" may include, for example, options to initiate a chat, scan a QR code, or create a new contact. The "Create Virtual Space" option triggers the creation of a virtual space on the electronic device. This is understandable. Figure 4B An example of an expanded menu is shown; this application does not limit the content or form of the expanded menu. The user can interact with the "Create Virtual Space" option, for example, by clicking the "Create Virtual Space" option. Figure 4B As shown.
[0116] In response to clicking the "Create Virtual Space" option, the virtual space interface 430 of electronic device A will be displayed on the screen of electronic device A, such as... Figure 4C As shown. Specifically, in response to clicking the "Create Virtual Space" option, the electronic device directly invokes the page template and broadcasts the virtual space creation information via the proximity communication unit to discover nearby electronic devices. Specifically, the electronic device's method of broadcasting the virtual space creation information via the proximity communication unit to discover nearby electronic devices is as follows: Figure 5AAs shown, electronic device A can broadcast information about creating a virtual space via a proximity communication unit (PRU). After hearing this information, nearby electronic devices can respond with a first received response to announce their presence. This first received response may include the device identifier of the nearby electronic device and the user identifier of the user of the nearby electronic device within the connected application installed on that device. The device identifier can be uniquely identifying information such as MSISDN (Mobile Subscriber International ISDN / PSTN number) or IMSI (National Mobile Subscriber Identification). The user identifier can be, for example, "Ann" or "Kitty". After discovering nearby electronic devices, electronic device A can determine the distance between itself and the nearby electronic devices via the PRU. Based on the distance, device identifier, and user identifier, electronic device A can determine a first target electronic device among the nearby electronic devices. The first target electronic device is within a preset threshold distance of electronic device A and is a connected contact with electronic device A within the connected application. For example, in... Figure 5A In the process, electronic device A identifies electronic device B as the first target electronic device. After identifying the first target electronic device B, electronic device A can also send a confirmation message to the first target electronic device B. The confirmation message is used to notify the first target electronic device B that it has been found by electronic device A. Optionally, after listening to the information about creating a virtual space, nearby electronic devices can also determine the distance of nearby electronic devices relative to electronic device A through a proximity communication unit. The first received response may also include the distance. Optionally, when broadcasting the information about creating a virtual space, electronic device A also broadcasts the user identifier of the Connect application installed on electronic device A. Then, nearby electronic devices can determine whether the user of electronic device A is a Connect contact through the user identifier of electronic device A. The first received response may also include the result of whether the user is a Connect contact. Electronic device A can then determine the first target electronic device among nearby electronic devices based on the distance, device identifier, and the result.
[0117] The first target electronic device B can discover nearby electronic devices by broadcasting information about the virtual space of electronic device A through a proximity communication unit based on a confirmed message. Figure 5B As shown. The first target electronic device B can also identify a second target electronic device among nearby electronic devices after discovering them. The second target electronic device is within a preset threshold distance of the first target electronic device B and is a connected contact with the first target electronic device B in the seamless connection. For example, in... Figure 5BIn this process, the first target electronic device B identifies electronic devices A and C as the second target electronic devices. The process by which the first target electronic device B identifies electronic devices A and C as the second target electronic devices is the same as the process described above where electronic device A identifies electronic device B as the target electronic device, and will not be repeated here. After identifying the second target electronic devices, the first target electronic device B also sends a response containing the device identifiers A and C of the second target electronic devices to electronic device A to notify that the second target electronic device has been found. Similar to the above-described discovery of nearby electronic devices and the identification of target electronic devices among those nearby that are within a preset threshold distance and are connected in the seamless connection, electronic device C and subsequently identified target electronic devices can also discover nearby electronic devices and identify other target electronic devices until the termination condition is met, such as the distance not being within the preset threshold or the devices not being connected in the seamless connection. The termination condition may also be triggered by other factors, which this application does not limit.
[0118] Optionally, nearby electronic devices can also determine, based on distance and results, whether the distance between themselves and electronic device A is within a preset threshold and whether they are connected in the seamless connection, and accordingly determine whether they are the first target electronic device. Specifically, if the distance is within the preset threshold and they are connected in the seamless connection, the nearby electronic device is the first target electronic device; if the distance is not within the preset threshold, or they are not connected in the seamless connection, the nearby electronic device is not the first target electronic device. For example, in... Figure 5A Electronic device B identifies itself as the first target electronic device. Then, the first target electronic device B can respond with a second response including its device identifier B, sent to electronic device A, and directly perform the aforementioned actions of discovering nearby electronic devices and so on. Figure 5B The electronic device C shown is identified as the second target electronic device until the termination condition is met. Specifically, after receiving a second received response from the second target electronic device C, including the device identifier C of the second target electronic device, the first target electronic device B also transmits a reply response, including the device identifier C of the second target electronic device, to the electronic device A. It is understood that the second received response may also include the user identifier of the Connect application installed on the electronic device; this application does not impose any restrictions on this.
[0119] For ease of description, the following will use electronic device A as the electronic device that creates the virtual space, electronic device B as the first target electronic device determined by electronic device A, electronic device A and electronic device C as the second target electronic devices determined by electronic device B, and electronic device B as the third target electronic device determined by electronic device C. However, this application is not limited to this.
[0120] In response to clicking the "Create Virtual Space" option, electronic device A displays the following based on the page template, the first target electronic device B, and the second target electronic device C: Figure 4C The virtual space interface 430 of the electronic device A shown. Figure 4C In the virtual space interface 430, there are a status bar 411, a file selection area 432, and a virtual space area 433. The file selection area 432 is used to display icons for one or more local file types, such as... Figure 4C The file selection area 432 displays an icon 434 for image types and an icon 435 for document types. Users can use the image type icons and / or document type icons displayed in the file selection area 432 to open image type files and / or document type files. It is understood that local file types may also include other types, such as audio and video, and this application does not limit this. The virtual space area 433 includes a contact area 436 and a file sharing area 437. The contact area 436 is displayed above the file sharing area 437. It is understood that the contact area 436 may be displayed in other locations, and this application does not limit this. The contact area 436 includes a member area 438 and a user area 439. In this embodiment, as... Figure 4C As shown, the member area 438 is displayed to the left of the contact area 436, and the user area 439 is displayed to the right of the contact area 436. Optionally, the member area 438 is displayed to the right of the contact area 436, and the user area 439 is displayed to the left of the contact area 436. The member area 438 is used to display a list of members who have joined the virtual space. In this embodiment, the member list is the device identifier of the electronic device, for example, Figure 4C The member area 438 displays the device identifier A of electronic device A. It is understood that the member list can also be the user identifier of the Connect application, such as Ann; this application does not limit this. The user area 439 is used to display a list of users directly or indirectly found by electronic device A who are not in the virtual space, for example... Figure 4C The user area 439 displays the device identifier B of electronic device B and the device identifier C of electronic device C. It is understood that the user list can also contain user identifiers from the Connect application, such as "Baby," and this application does not impose any limitations on this. Users can interact with the content displayed in the user area 439. The file sharing area 437 is used to display one or more files shared in the virtual space. For example, when the user has not shared any files, such as... Figure 4C As shown, no files are displayed in virtual space area 433. Clearly, if a user shares a file, the shared file will be displayed in virtual space area 433.
[0121] To share files with electronic devices B and C, electronic device A can invite electronic devices B and C, which are displayed in the user area, to enter the virtual space. For example, as... Figure 6A As shown, after creating the virtual space, the user can interact with the device identifier B of electronic device B displayed in the user area 439, for example, by clicking on device identifier B. In response to clicking on device identifier B, electronic device A will display a first prompt box 620 on the virtual space interface, such as... Figure 6B As shown. The first prompt box 620 is used to request the user to confirm whether to invite electronic device B into the virtual space. Figure 6B In the first prompt box 620, there is a first prompt message 621 and a virtual button 622. The first prompt message 621 may be, for example, "Invite electronic device B to enter the virtual space?". The virtual button 622 includes a cancel button 623 and a confirm button 624. The cancel button 623 is used to trigger electronic device A to cancel inviting electronic device B to enter the virtual space. The confirm button 624 is used to trigger electronic device A to invite electronic device B to enter the virtual space. It is understood that... Figure 6B This is one example of a first prompt box 620, and this application does not limit the content and form of the first prompt box 620. At this time, the user can operate the confirmation button 624, for example, the user clicks the confirmation button 624, as... Figure 6B As shown. In response to clicking the confirmation button 624, electronic device A sends an invitation request to electronic device B via a proximity communication unit. The invitation request includes information that electronic device A invites electronic device B to enter the virtual space. The invitation request also includes indication information, which instructs electronic device B to invoke the page template upon accepting the invitation. Based on the feedback information of electronic device B's acceptance, electronic device A also displays the device identifier A of electronic device A and the device identifier B of electronic device B in the member area 438 of the virtual space interface 430, and displays the device identifier C of electronic device C in the user area 439, as shown. Figure 6C As shown. In some embodiments, device identifier A of electronic device A and device identifier B of electronic device B are displayed horizontally in member area 438, with device identifier A displayed before device identifier B, used to identify the virtual space interface of electronic device A. It is understood that the user can also operate the cancel button 623 to trigger electronic device A to cancel the invitation of electronic device B to enter the virtual space; electronic device A may not pop up the first prompt box 620, but directly display device identifier A and device identifier B in member area 438 of virtual space interface 430 based on the feedback information of electronic device B's consent, and display device identifier C in user area 439; device identifier A of electronic device A and device identifier B of electronic device B may also be displayed vertically, with device identifier A of electronic device A displayed after device identifier B of electronic device B, and the application does not restrict this.
[0122] Before receiving the invitation request from electronic device A, electronic device B may display the following: Figure 7A The interface shown. In Figure 7A In the example, electronic device B displays the main interface 710 of the Connect app. The content and functions of the main interface 710 of electronic device B are similar to those of the main interface of electronic device A. The main interface 710 of electronic device B also includes a status bar 711, a task bar 712, a title bar 713, a content bar 714, and a menu bar 715. It is understood that before receiving an invitation request from electronic device A, electronic device B may also display other interfaces, such as the interfaces of other applications or the system's main interface; this application does not impose any restrictions on this. After receiving the invitation request from electronic device A, electronic device B pops up a second prompt box 720, such as... Figure 7B As shown. The second prompt box 720 is used to request the user to confirm whether to join the virtual space of electronic device A. Figure 7B In the second prompt box 720, there is a second prompt message 721 and a virtual button 722. The second prompt message 721 may be, for example, "Electronic device A invites you to join a virtual space. Do you want to join?" The virtual button 722 includes a cancel button 723 and an agree button 724. The cancel button 723 is used to trigger electronic device B to cancel joining the virtual space of electronic device A. The agree button 724 is used to trigger electronic device B to join the virtual space of electronic device A. It is understood that... Figure 7B This is one example of a second prompt box 720, and this application does not limit the content and form of the second prompt box 720. At this time, the user can operate the agree button 724, for example, the user clicks the agree button 724, as... Figure 7B As shown. In response to clicking the "Agree" button 724, electronic device B sends an agreement feedback message to electronic device A via a near-field communication unit. This agreement feedback message includes information that electronic device B agrees to join the virtual space of electronic device A. Based on the instructions in the invitation request from electronic device A, electronic device B displays its virtual space interface 730 through a page template, the second target electronic device, and electronic device A, as shown. Figure 7C As shown. In Figure 7C In the virtual space interface 730 of electronic device B, there is a status bar 731, a file selection area 732, and a virtual space area 733. The file selection area 732 is used to display icons of one or more local file types, such as... Figure 7C The file selection area 732 displays an icon 734 for image types and an icon 735 for document types. The content and function of the status bar 731 and the file selection area 732 are similar to... Figure 4CThe status bar and file selection area have the same content and function, so they will not be described again here. Virtual space area 733 also includes contact area 736 and file sharing area 737. File sharing area 737 is similar to... Figure 4C The file sharing area has the same content and function, so it will not be repeated here. The contact area 736 also includes member area 738 and user area 739. The functions of member area 738 and user area 739 are the same as... Figure 4C The member area and the user area in the code have the same function, the difference being that in Figure 7C In the member area 738, the device identifiers B and A of electronic device B and electronic device A are displayed horizontally, with device identifier B appearing before device identifier A, used to identify the virtual space interface of electronic device B; the user area 739 displays the device identifier C of electronic device C. It is understood that the user can also operate the cancel button 723 to trigger electronic device B to cancel joining the virtual space of electronic device A; the device identifiers B and A can also be displayed vertically, with device identifier B appearing after device identifier A, and the application does not impose any restrictions on this.
[0123] Similar to the process described above, electronic device A can also invite electronic device C into the virtual space, which will not be elaborated further here.
[0124] The above describes the process of electronic device A inviting electronic devices B and C to join a virtual space. During file sharing, electronic devices can not only be invited to join a virtual space, but can also actively request to join. Specifically:
[0125] After determining that electronic device B is the first target electronic device and electronic devices A and C are the second target electronic devices, the main interface of the Connect app for electronic devices B and C will display an entry point for joining the virtual space. Specifically, electronic devices B and C can receive messages from electronic device A confirming their status as the first target electronic device and messages from electronic device A confirming their status as the second target electronic device, respectively, and display the entry point for joining the virtual space on the Connect app's main interface. In other words, if electronic device B determines itself to be the first target electronic device and electronic device C determines itself to be the second target electronic device, then electronic device B, after determining itself to be the first target electronic device, can display the entry point for joining the virtual space on the Connect app's main interface, and electronic device C, after determining itself to be the second target electronic device, can also display the entry point for joining the virtual space on the Connect app's main interface. For example, as... Figure 8A As shown, electronic device B also displays a virtual space joining entry 811 on the main interface 710 of the connected device. Figure 8A In the middle, the content bar 714 of the main interface 710 of the electronic device B includes not only Figure 7AThe content also includes the virtual space entry point 811, for example... The virtual space joining entry 811 is used to trigger an application to join the virtual space of electronic device A. The user of electronic device B can interact with the virtual space joining entry 811, for example, by clicking on the virtual space joining entry 811. Figure 8A As shown. In response to clicking the "Join" entry 811 in the virtual space, electronic device B displays a third prompt box 820, as follows. Figure 8B As shown. The third prompt box 820 is used to notify the user's electronic device B that it has submitted a request to join the virtual space. Figure 8B In the middle, the third prompt box 820 includes a third prompt message. The third prompt message may be, for example, "A join request has been submitted." It is understood that... Figure 8B This is one example of a third prompt box 820, and this application does not limit the content and form of the third prompt box 820. In response to clicking the virtual space join entry 811, electronic device B also sends an application request to electronic device A via a near-field communication unit. The application request includes information that electronic device B is applying to join the virtual space of electronic device A. Electronic device B also displays its virtual space interface 730 based on feedback from electronic device A, such as... Figure 8C As shown. It is understood that electronic device B may not need to pop up the third prompt box 820, and may directly display the virtual space interface 730 of electronic device B based on the feedback information of electronic device A's consent, and the application does not impose any restrictions on this.
[0126] Before receiving the request from electronic device B, electronic device A may display the following: Figure 9A The virtual space interface 430 is shown. Figure 9A In the virtual space interface 430, electronic device A displays its device identifier A in the member area 438, and displays the device identifiers B and C of electronic devices B and C in the user area 439. It is understood that before receiving the request from electronic device B, electronic device A may display other interfaces, such as the interfaces of other applications or the system's main interface; this application does not impose any restrictions on this. After receiving the request from electronic device B, electronic device A displays a fourth prompt box 920 on the virtual space interface, such as... Figure 9B As shown. The fourth prompt box 920 is used to request the user to confirm whether they agree to let electronic device B join the virtual space of electronic device A. Figure 9BIn the fourth prompt box 920, there is a fourth prompt message 921 and a virtual button 922. The fourth prompt message 921 may be, for example, "Electronic device B requests to join your virtual space, do you agree?" The virtual button 922 includes a reject button 923 and an agree button 924. The reject button 923 is used to trigger electronic device A to reject electronic device B from joining the virtual space. The agree button 924 is used to trigger electronic device A to agree to electronic device B joining the virtual space. It is understood that... Figure 9B This is one example of a fourth prompt box 920, and this application does not limit the content and form of the fourth prompt box 920. At this time, the user can operate the agree button 924, for example, the user clicks the agree button 924, as... Figure 9B As shown. In response to clicking the "Agree" button 924, electronic device A sends an agreement feedback message to electronic device B via a near-field communication unit. This message includes electronic device A's agreement that electronic device B joins its virtual space. In response to clicking the "Agree" button 924, electronic device A also displays its device identifier A and electronic device B's device identifier B in the member area 438 of the virtual space interface 430, and displays electronic device C's device identifier C in the user area 439, as shown. Figure 9C As shown. In some embodiments, device identifier A of electronic device A and device identifier B of electronic device B are displayed horizontally in member area 438, with device identifier A displayed in front of device identifier B, used to identify the virtual space interface of electronic device A. It is understood that the user can also operate the reject button 923 to trigger electronic device A to reject electronic device B from joining the virtual space, and there is no restriction on this.
[0127] Similar to the process described above, electronic device C can also apply to join the virtual space of electronic device A, which will not be elaborated further here.
[0128] After electronic devices B and C are both added to the virtual space of electronic device A, electronic device A displays the device identifier A of electronic device A, the device identifier B of electronic device B, and the device identifier C of electronic device C in the member area 438 of the virtual space interface 430. Figure 10AAs shown. In some embodiments, the device identifier A of electronic device A is displayed before the device identifier B of electronic device B and the device identifier C of electronic device C. It is understood that the device identifier A of electronic device A may also be displayed after the device identifier B of electronic device B or the device identifier C of electronic device C. In this case, members within the virtual space can share files with each other. For example, a user of electronic device A can share files to the virtual space. For example, when a user of electronic device A needs to share photos to the virtual space, they can operate the image type icon 434 displayed in the file selection area 432 of the virtual space interface 430. For example, clicking the image type icon 434 displayed in the file selection area... Figure 10A As shown. In response to clicking the image type icon displayed in the file selection area, electronic device A displays a receive button 1021 in the file sharing area 437 of the virtual space interface 430, as shown. Figure 10B As shown. The receive button 1021 is used to trigger electronic device A to download the image selected in the file sharing area 437. In response to clicking the image type icon displayed in the file selection area, electronic device A also displays shooting options, thumbnails or names of local images, and a send button 1022 in the file selection area 432 of the virtual space interface 430. Figure 10B As shown. The shooting option is used to trigger electronic device A to take a picture and share the captured picture. The method of sharing the captured picture is similar to the sharing method described below, please refer to the description below for details. Optionally, the shooting option can also be used to trigger electronic device A to take a picture and save the captured picture to the local device. The thumbnail or name of the local picture can be, for example, Figure 10B Images 1, 2, 3, 4, and 5 are included. The files corresponding to the thumbnails or names of the local images can be stored on electronic device A, i.e., locally on electronic device A. When electronic device A detects an up or down swipe operation in the file selection area 432, it can update the content displayed in the file selection area 432 to allow the user to browse more image thumbnails or names. It is understood that electronic device A can also update the content displayed in the file selection area 432 when it detects a left or right swipe operation, allowing the user to browse more image thumbnails or names. The user can select from the content displayed in the file selection area 432. The send button 1022 is used to trigger electronic device A to share the URL of the selected image to the virtual space. In this embodiment, the electronic device also displays a selection control 1023 on the thumbnail or name of each image in the file selection area 432, such as... Figure 10B As shown. Selection control 1023 can be used to select images to share. Users can manipulate selection control 1023, for example, by clicking selection control 1023.
[0129] In response to clicking the selection control 1023, electronic device A can select a shared image and display the result of the image selection, such as... Figure 10C As shown. The selected image can be displayed by showing a selected marker in the selection control 1023, such as... Figure 10C The checkmark shown indicates that the user can also directly manipulate the image's thumbnail or name. Electronic device A can select the image to share based on the action of manipulating the image's thumbnail or name, and display the result of the selected image's thumbnail or name. Electronic device A can also display a mark only on the thumbnail or name that has been selected by the user in the file selection area 432. The mark can be used to identify that the file corresponding to the thumbnail or name has been selected by the user, without the need for selection control 1023. This application does not limit this. After selecting the image's thumbnail or name, the user can operate the send button 1022, for example, by clicking the send button 1022. Figure 10C As shown.
[0130] In response to the click of the send button 1022, electronic device A displays a sharing control 1041 on the thumbnail or name of each image in the file selection area 432, such as... Figure 10D As shown. The sharing control 1041 can be used to identify whether an image has been shared by a user. Electronic device A can display the result that the image has been shared, thereby avoiding repeated sharing by the user. The way to display that the image has been shared can be by displaying a shared marker in the sharing control 1041, such as a marker that can be... Figure 10D The "√" shown is in [the context of the document]. Figure 10D In the image, the sharing control 1041 for images 1, 2, 3, and 4 displays a marker indicating that the image has been shared. Figure 10D In the image 5, the sharing control 1041 does not display any content. It is understood that electronic device A may also display a marker only on the thumbnails or names that have been shared by the user in the file selection area 432. This marker can be used to identify that the file corresponding to the thumbnail or name has been shared by the user, and this application does not impose any limitations on this.
[0131] In response to the click of the send button 1021, electronic device A also displays a thumbnail or name of the shared image in the virtual space area 433 of electronic device A, such as... Figure 10D As shown, thumbnails or names of shared images are displayed in file-sharing area 437 of virtual space area 433. In this embodiment, electronic device A also displays the source of each image's thumbnail or name in virtual space area 433 according to the source of the shared image. For example, if the image source is electronic device A, then... Figure 10D The source of the image is displayed on its thumbnail or name.
[0132] In response to the click of the send button 1021, electronic device A also generates a unique identifier for each shared image in the temporary sharing network and broadcasts the unique identifier to other electronic devices in the virtual space via a short-range communication link, such as broadcasting the unique identifier to electronic devices B and C; the short-range communication link is a communication link established by electronic devices A, B, and C in the virtual space through their respective short-range communication units. Specifically, as... Figure 11A As shown, electronic device A locally stores images 1, 2, etc. Electronic device A also includes a short-range communication unit (NRCM). Electronic device A can establish a NRCM link with other electronic devices (such as electronic devices B and C) in virtual space through the NRCM link, and receive or send information to other electronic devices through the NRCM link. Users can share image 1, stored locally on electronic device A, to the NRCM link, such as... Figure 11A As shown. In response to a sharing operation by electronic device A, as... Figure 11B As shown, electronic device A can generate a URL link based on its device identifier A, its IP address, and the name of the shared image 1. The URL link can be, for example, 192.168.1.2 / A / 1.txt. Here, 192.168.1.2 is the IP address of electronic device A, A is its device identifier, and 1.txt is the name of the shared image 1. Electronic device A broadcasts the URL link of the shared image 1 to electronic devices B and C, which are located in a virtual space, via a short-range communication unit. This allows electronic devices B and C to remotely access electronic device A based on the shared image's URL link, and obtain a summary information of the image corresponding to the URL link from electronic device A. The summary information may include a thumbnail or a name. Furthermore, electronic devices B and C display the thumbnail or name of the shared image in the file-sharing areas of their respective virtual space interfaces. Therefore, when users upload files to the virtual space, no server is required, ensuring the security of file transfer. Furthermore, the images in the virtual space are not actually transmitted to other electronic devices before they are downloaded. Optionally, the summary information also includes the image source. Electronic devices B and C then display the source of the shared image in their respective virtual space interfaces, such as... Figure 11B As shown.
[0133] The following example, using electronic device B, illustrates the actions of other electronic devices in the virtual space when electronic device A shares images. Before receiving the URL link from electronic device A, electronic device B can display something like... Figure 12A The virtual space interface 730 is shown. Figure 12A In the virtual space interface 730, electronic device B displays the device identifiers A (of electronic device A), B (of electronic device B), and C (of electronic device C) horizontally in member area 738. Device identifier B of electronic device B appears before device identifiers A (of electronic device A) and C (of electronic device C). It can be understood that device identifier B of electronic device B could also appear after device identifier A (of electronic device A) or C (of electronic device C). The file selection area 732 displays thumbnails or names of local images, for example... Figure 12A Images A, B, C, and D are shown in the image. The files corresponding to the thumbnails or names of these local images can be stored on electronic device B, i.e., stored locally on electronic device B. It is understood that the device identifier A of electronic device A, the device identifier B of electronic device B, and the device identifier C of electronic device C can also be displayed vertically, and the file selection area 732 in the virtual space interface 730 of electronic device B can also display one or more local file types, such as image types and document types; this application does not impose any restrictions on this.
[0134] After receiving a URL link from electronic device A, electronic device B can display the summary information corresponding to the URL link, such as... Figure 12B The virtual space interface 730 is shown. Figure 12B In the virtual space interface 730, electronic device B displays thumbnails or names of shared images in the file sharing area 737, for example... Figure 12B Images A, B, C, and D are shown in the image. In this embodiment, electronic device B also displays the source of each image in the file-sharing area 737 on its thumbnail or name, for example, based on the source of the shared image. Figure 12B As shown In this embodiment, the interface is identical in the file-sharing area of all electronic devices in the virtual space.
[0135] Users can preview Figure 12B In the file sharing area 737, users can preview shared images by clicking on them, selecting a thumbnail or name. Users can also perform other actions, such as long-pressing... Figure 12B In the file sharing area 737, select the image to download by its thumbnail or name. Or, as... Figure 13AAs shown, electronic device B also displays selection controls 1311 on the thumbnail or name of each image in the file-sharing area 737 of the virtual space interface 730, and displays a categorization button 1313 and a receive button 1314 in the file-sharing area 737. Selection controls 1311 can be used to select images for download. The categorization button 1313 triggers electronic device B to categorize the thumbnails or names of the images displayed in the file-sharing area 737. The receive button 1314 triggers electronic device B to download the selected images from the file-sharing area 737. Users can manipulate the selection controls 1311, for example, by clicking the selection controls 1311 for images 1 and 2. Figure 13A As shown. In response to the click on the selection control 1311, electronic device B can select a downloaded image and display a thumbnail or the result of the selected image name, such as... Figure 13B As shown. The thumbnail or name of the selected image can be displayed by showing the selected marker in the selection control 1311, such as... Figure 13B The "√" shown in the diagram. It is understood that electronic device B may also display a mark only on the thumbnails or names selected by the user in the file sharing area 737. The mark can be used to identify that the file corresponding to the thumbnail or name has been selected by the user; this application does not limit this. After selecting the image to download, the user can operate the receive button 1314, for example, by clicking the receive button 1314. Figure 13B As shown. In response to clicking the receive button 1314, electronic device B can download the selected image. The downloaded image will be stored locally by electronic device B. Electronic device B will also display a thumbnail or name of the downloaded image in the file selection area 732, and display the source on the downloaded image. For example, if the source of the downloaded image is electronic device A, then... Figure 13C The source of the downloaded images is displayed on the thumbnail or name. Electronic device B also displays the results of the image download in file sharing area 737, such as... Figure 13C As shown, electronic device B displays a download control 1331 on the thumbnail or name of each image in the file sharing area 737. The download control 1331 can be used to identify whether an image has already been downloaded by the user, thereby preventing the user from downloading it repeatedly. The display of a downloaded image can be achieved by showing a downloaded marker in the download control 1331, such as... Figure 13C The "√" shown is in [the context of the document]. Figure 13CIn the file sharing area 737, the download controls 1331 for images 1 and 2 display a "downloaded" marker, while the download controls 1331 for images 3 and 4 do not display any content. It is understood that electronic device B may also display a marker only on the thumbnails or names of images downloaded by the user in the file sharing area 737. This marker can be used to identify that the file corresponding to the thumbnail or name has been downloaded by the user, and this application does not impose any limitations on this.
[0136] The process of downloading selected images to electronic device B can be found in the following reference. Figure 14 After electronic devices A, B, and C are networked in a virtual space, all electronic devices in the virtual space are registered in the network space. A specific electronic device can be elected or designated as the management device, for example, electronic device A can be elected as the management device. The management device can manage and maintain the electronic devices in the virtual space, for example, by recording the current addresses of the electronic devices, generating routing tables, and updating the routing tables. The routing table records multiple routing information entries. This routing information can be address information, such as IP addresses. A specific electronic device can be easily located using the routing information in the routing table. The management device stores the routing table. The management device is the carrier of the network space. The network space is a multicast address composed of address information from the routing table. Therefore, when an electronic device requests to download a picture, for example, when electronic device B requests to download picture 1, it can send a message to the multicast address to find all electronic devices in the network that have downloaded pictures, thus determining the electronic device with the fewest transmission tasks or the best network status at that moment. When electronic devices A and C detect a message sent by electronic device B on this multicast address, they analyze the service requested by electronic device B and respond to B's request at the multicast address. This allows electronic device B to preferentially receive images via P2P with designated electronic devices and, after receiving the images, broadcast a message to other electronic devices in the network that it has downloaded the images. Specifically, as... Figure 14 As shown, Figure 14 This is a schematic diagram of a file download method in a file sharing method according to an embodiment of this application. The file download method in the file sharing method includes:
[0137] S1401: Electronic device B sends a multicast discovery request to the network space based on the URL link of image 1, requesting the optimal electronic device for downloading image 1.
[0138] S1402: The network broadcasts an inquiry request to other electronic devices (e.g., electronic devices B and C) in the network. The inquiry request is used to inquire whether the electronic devices have downloaded image 1 and their network information. The inquiry request includes a URL link for image 1 and information about the network information of the electronic devices. The inquiry request may be an SSDP protocol request.
[0139] S1403: Electronic device A searches its local machine for an image that matches the URL link of image 1 according to the query request, and returns a response to the network space based on the search results. The response includes the search results and network information. If an image that matches the URL link of image 1 is found, a positive search result and network information are returned. If no image that matches the URL link of image 1 is found, a negative search result and network information are returned. The network information includes transmission task and network status information.
[0140] S1404: Electronic device C searches its local machine for an image that matches the URL link of image 1 according to the query request, and returns a response to the network space based on the search results. The response includes the search results and network information. If an image that matches the URL link of image 1 is found, a positive search result and network information are returned. If no image that matches the URL link of image 1 is found, a negative search result and network information are returned. The network information includes transmission task and network status information.
[0141] S1405: The network space returns network information about the electronic device that has downloaded picture 1 to electronic device B based on the responses from electronic device A and electronic device C.
[0142] S1406: Electronic device B determines the optimal electronic device for downloading image 1 based on the network information of the electronic device that has already downloaded image 1. For example, such as... Figure 14 The diagram shows the optimal downloading electronic device A for image 1 in the network. Electronic device B, based on the network information of the electronic devices that have already downloaded image 1, can determine the optimal downloading electronic device for image 1 as follows: Electronic device B determines the electronic device with the fewest transmission tasks and / or the best network status among the electronic devices that have already downloaded image 1.
[0143] S1407: Electronic device B establishes a P2P channel with electronic device A based on the routing information of electronic device A, and sends a download request to electronic device A through the P2P channel according to the URL link of image 1, requesting to download image 1; the download request includes the URL link of image 1.
[0144] S1408: Electronic device A searches locally for image 1 that matches the URL link of image 1 based on the URL link of image 1.
[0145] S1409: Electronic device A establishes an IO channel.
[0146] S1410: Electronic device A sends the found image 1 to electronic device B through the IO channel and the P2P channel.
[0147] S1411: Electronic device B sends a multicast notification request to the network space, the multicast notification request being used to request electronic devices A and C to announce that electronic device B has downloaded image 1.
[0148] S1412: Cyberspace announces to electronic devices A and C that electronic device B has downloaded image 1.
[0149] It is understood that the order of steps S1403 and S1404 can be interchanged, and electronic device C can also be the optimal downloading electronic device in Figure 1. This application does not limit this.
[0150] After downloading image 1 on electronic device B, electronic device B can also download image 2. The process of electronic device B downloading image 2 is the same as the process of electronic device A downloading image 1, and will not be described again here.
[0151] Electronic device B can also categorize images and then download all images under a specific category with a single click. For example, users don't need to directly execute commands like... Figure 13A Instead of selecting the image to download, you can operate the category button 1313 on the virtual space interface 730. For example, clicking the category button 1313 will... Figure 15A As shown. In response to the click of the category button 1313, the electronic device B displays a category list 1520, which includes various categories of images, such as... Figure 15B The images can be categorized into people, places, times, and things. It is understood that the images can also be categorized in other ways, and this application does not impose any restrictions on this. Users can interact with categories, for example, by clicking on the "People" category. Figure 15B As shown. In response to clicking the "People" category in category list 1520, electronic device B displays the category "People" in file sharing area 737. Electronic device B also sends a category request to electronic device A, so that electronic device A can return category information based on the category request; the category request includes information about the shared images. Electronic device B also categorizes the thumbnails or names of the images displayed in file sharing area 737 according to the "People" category based on the category information from electronic device A, and displays the name of the category next to each category, for example... Figure 15C The figures shown are A, B, and C. Electronic device B also displays a download button (1531) next to each name. Figure 15CIn the image, electronic device B displays download buttons 1531 next to characters A, B, and C. Download buttons 1531 trigger electronic device B to download all images of a specific type. Users can use download buttons 1531 to download all images of a particular type; for example, clicking the download button 1531 next to character B will download all images of that type. Figure 15C As shown. It is understood that the download button 1531 can be of other shapes, and this application does not limit this. In response to clicking the download button 1531 next to Person B, electronic device B downloads all images under the Person B type, allowing the user to download all images of a certain type with one click, improving file filtering efficiency. The process of electronic device B downloading all images under the Person B type is the same as the above-described image download process, and will not be repeated here. The images downloaded by electronic device B will be stored locally. Electronic device B will also display the thumbnail or name of the downloaded image in the file selection area 732, and display the source on the downloaded image. For example, if the source of the downloaded image is electronic device A, then... Figure 15D The source of the images is displayed on the thumbnails or names of images 2 and 4 downloaded from [the source website]. Electronic device B also displays the results of the image download, such as... Figure 15D As shown. Electronic device B can display a download control 1541 on the thumbnail or name of each image in the file sharing area 737. The download control 1541 can be used to identify whether an image has been downloaded by the user. The way an image is displayed as downloaded can be by displaying a downloaded marker in the download control 1541, for example, in... Figure 15D In the download control 1541 for images 2 and 4 under type B (characters), a mark indicating that the image has been downloaded is displayed. This mark could be, for example, a tag indicating that the image has been downloaded. Figure 15D The checkmark shown indicates that the download control 1541 for images of other types (thumbs up or names) does not display content. This is understandable. Figure 15A In addition, when the number of images in the file sharing area 737 exceeds a preset number, electronic device B can automatically categorize the thumbnails or names of the images displayed in the file sharing area 737 into multiple types without user intervention; Figure 15C In the process, the user can also select all images under Person B type one by one, and select the receive button 1314, so that electronic device B can download all images under Person B type and display the downloaded image results; Figure 15D In this application, electronic device B can also display a marker on the thumbnails or names downloaded by users in the file sharing area 737. This marker can be used to indicate that the file corresponding to the thumbnail or name has been downloaded by the user. No marker is displayed on thumbnails or names that have not been downloaded. This application does not limit this. It is understood that, although... Figure 15AThe selection control 1311 is shown, but it may not be necessary to display the selection control when categorizing images; users can also categorize images by location, time, object, etc.; users can also download other types of images, such as person A, person C, etc.; this application does not impose any restrictions on this.
[0152] The above describes the process by which electronic device B categorizes the images shared by electronic device A. In practical use, images shared in virtual space may include not only those shared by electronic device A, but also those shared by at least one of electronic devices B or C. For methods on categorizing images shared to virtual space by different electronic devices, please refer to [link to relevant documentation]. Figure 16A and Figure 16B .like Figure 16A As shown, Figure 16A This is a schematic diagram of a file classification method in a file sharing method according to an embodiment of this application. The file classification method in this file sharing method does not require a server and can classify images. The file classification method in this file sharing method includes:
[0153] S1601: Electronic device A shares image a1 to a virtual space. The type of image a1 is A1.
[0154] S1602: Electronic device B shares image b1 to a virtual space. The type of image b1 is B1.
[0155] S1603: Electronic device B extracts M images of type B1 locally.
[0156] S1604: Electronic device B sends the extracted M images to electronic device A.
[0157] S1605: Electronic device A determines the feature parameters of the M extracted images and compares them with the feature parameters of type A1 to determine whether A1 and B1 are of the same type. If the feature parameters of the M extracted images are the same as the feature parameters of type A1, then A1 and B1 are of the same type; if the feature parameters of the M extracted images are different from the feature parameters of type A1, then A1 and B1 are not of the same type. An example of A1 and B1 being of the same type will be given below.
[0158] S1606: Electronic device A categorizes picture a1 and picture b1 into the same type in the file sharing area.
[0159] S1607: Electronic device A sends the same type of comparison results to electronic devices B and C.
[0160] S1608: Electronic device B categorizes image a1 and image b1 into the same type in the file sharing area.
[0161] S1609: Electronic device C categorizes image a1 and image b1 into the same type in the file sharing area.
[0162] S1610: Electronic device B shares image b2 to a virtual space. Image b2 is of type B2, which is different from type B1.
[0163] S1611: Electronic device B separates image b2 into another type B2 in the file sharing area according to the type B1 of image b1 and the type B2 of image b2.
[0164] S1612: Electronic device B sends the classification result of image b2 to electronic devices A and C.
[0165] S1613: Based on the classification result of image b2, electronic device A separates image b2 into another type B2 in the file sharing area.
[0166] S1614: Based on the classification result of image b2, electronic device C will classify image b2 separately under another type B2 in the file sharing area.
[0167] S1615: Electronic device A shares image a2 to a virtual space. Image a2 is of type A2, which is different from type A1.
[0168] S1616: Electronic device A extracts N images of type A2 locally. N may be the same as or different from M.
[0169] S1617: Electronic device A sends the extracted N images to electronic device B.
[0170] S1618: Electronic device B determines the feature parameters of the N extracted images and compares them with the feature parameters of type B2 to determine whether A2 and B2 are of the same type. If the feature parameters of the N extracted images are the same as the feature parameters of type B2, then A2 and B2 are of the same type; if the feature parameters of the N extracted images are different from the feature parameters of type B2, then A2 and B2 are not of the same type. The following example illustrates that A2 and B2 are of different types.
[0171] S1619: Electronic device B separates image a2 into a different type A2 within the file sharing area, such as... Figure 16B As shown. In Figure 16B In the file sharing area 737, electronic device B separates the image a2 shared by electronic device A into a separate category A2.
[0172] S1620: Electronic device B sends the classification result of image a2 to electronic devices A and C.
[0173] S1621: Based on the classification result of image a2, electronic device A separates image a2 into another type A2 in the file sharing area.
[0174] S1622: Based on the classification result of image a2, electronic device C will classify image a2 separately under another type A2 in the file sharing area.
[0175] It is understood that electronic devices A and B can not only share one image each time as described above, but also share other numbers of images each time. In Figure 16, the sharing order of the electronic devices is that electronic device A shares image a1, electronic device B shares image b1, then electronic device A shares image a2, and electronic device B shares image b2. However, the sharing order of the electronic devices can also be other orders. The shared images can also be other types of images. When sharing images, electronic device A extracts images of type A1 locally and sends the extracted images to electronic device B for judgment. Electronic device A can also send the extracted images to electronic device C when sharing images, so that electronic device C can judge them in subsequent sharing. The order in which the electronic devices display the images in the file sharing area after receiving the results can be any order, and this application does not limit this.
[0176] Understandably, after making a comparison, electronic devices will immediately delete the sampled images sent by other electronic devices.
[0177] Obviously, after categorizing the images shared to the virtual space by different electronic devices, the devices also download the shared images. After downloading the required images, or under other circumstances, the electronic device can also exit the virtual space. There are two ways for a non-creating electronic device to exit the virtual space. A non-creating electronic device is one that does not create a virtual space. After a non-creating electronic device exits the virtual space, the virtual space still exists and is not dissolved. The first method of a non-creating electronic device exiting the virtual space is described in detail below, for example, the first method for electronic device B to exit the virtual space. Please see... Figure 17A The figure shows the virtual space interface 730 of electronic device B. Figure 17AIn the virtual space interface 730, electronic device B displays the device identifiers A of electronic device A, B of electronic device B, and C of electronic device C horizontally in member area 738, with device identifier B of electronic device B appearing before device identifiers A and C of electronic device B. The file selection area 732 displays thumbnails or names of local images. It is understood that electronic device B may display other interfaces before exiting the virtual space, such as interfaces of other applications, the main interface, or other interfaces of the virtual space; this application does not impose any limitations on this. When the distance between electronic device B and electronic device A exceeds a preset distance, a fifth prompt box 1720 pops up on the virtual space interface 730 of electronic device B, such as... Figure 17B As shown. The fifth prompt box 1720 is used to notify the user's electronic device B that it is about to leave the valid area of the virtual space. Figure 17B In the fifth prompt box 1720, a fifth prompt message is included. This fifth prompt message may be, for example, "About to leave the valid area of the virtual space." It is understood that... Figure 17B This is one example of the fifth prompt box 1720, and this application does not limit the content and form of the fifth prompt box 1720. When the distance between electronic device B and electronic device A exceeds the aforementioned preset threshold, electronic device B exits the virtual space, displays the main interface 710 of Changlian, and a sixth prompt box 1730 pops up on the main interface 710 of Changlian, as shown below. Figure 17C As shown. The sixth prompt box 1730 is used to notify the user that electronic device B has exited the virtual space of electronic device A. Figure 17C In the middle, the sixth prompt box 1730 includes a sixth prompt message. The sixth prompt message may be, for example, "You have exited the virtual space of electronic device A." It is understood that... Figure 17C This is an example of the sixth prompt box 1730. This application does not limit the content and form of the sixth prompt box 1730.
[0178] The following section details a second method for exiting the virtual space without creating an electronic device, such as the second method for exiting the virtual space for electronic device B. Please refer to [link to relevant documentation]. Figure 18A The figure shows the virtual space interface 730 of electronic device B. Figure 18A In the virtual space interface of electronic device B, a title bar 1811 is also included, which includes buttons such as a "close" button 1812. The user can click the "close" button 1812 on the title bar 1811, such as... Figure 18A As shown. In response to clicking the "Close" button 1812 on the title bar 1811, electronic device B displays a seventh prompt box 1820 on the virtual space interface 730, as follows. Figure 18BAs shown. The seventh prompt box 1820 is used to request the user to confirm whether to exit the virtual space of electronic device A. Figure 18B In the middle, the seventh prompt box 1820 includes a seventh prompt message 1821 and a virtual button 1822. The seventh prompt message 1821 may be, for example, "Confirm exit from the virtual space of electronic device A?". The virtual button 1822 includes a cancel button 1823 and a confirm button 1824. The cancel button 1823 is used to trigger electronic device B to cancel exiting the virtual space of electronic device A. The confirm button 1824 is used to trigger electronic device B to exit the virtual space of electronic device A. It is understood that... Figure 18B This is an example of the seventh prompt box 1820; this application does not limit the content or form of the seventh prompt box 1820. In response to clicking the confirm button 1824, electronic device B exits the virtual space and displays the main interface 710 of Changlian. The main interface 710 of Changlian displays the virtual space entry point 811. In response to clicking the confirm button 1824, electronic device B also pops up an eighth prompt box 1830 on the main interface 710 of Changlian, such as... Figure 18C As shown. The content and function of the eighth prompt box 1830 are the same as... Figure 17C The content and function of the sixth prompt box are the same, and will not be repeated here. It is understood that electronic device B may display other interfaces before exiting the virtual space, such as the interface of other applications, the main interface, or other interfaces of the virtual space; this application does not limit this. It is also understood that electronic device B may respond to the clicking of the "Close" button 1812 without popping up the seventh prompt box 1820, directly exiting the virtual space of electronic device A and displaying... Figure 18C The interface shown.
[0179] It is understandable that not only can non-created electronic devices exit the virtual space, but created electronic devices can also exit the virtual space. Creating an electronic device refers to the electronic device that created the virtual space. After a created electronic device exits the virtual space, the virtual space is dissolved and ceases to exist.
[0180] The following section details how to exit a virtual space using an electronic device, for example, how to exit a virtual space using electronic device A. Please refer to [link / reference]. Figure 19A The figure shows the virtual space interface 430 of electronic device A. Figure 19A In the virtual space interface 430 of electronic device A, a title bar 1911 is also included, which includes buttons such as a "close" button 1912. The user can click the "close" button 1912 on the title bar, such as... Figure 19A As shown. In response to clicking the "Close" button 1912 on the title bar 1911, electronic device B displays a ninth prompt box 1920 in virtual space 430, as follows. Figure 19BAs shown. The ninth prompt box 1920 is used to request the user to confirm whether to dissolve the virtual space. Figure 19B In the ninth prompt box 1920, there is a ninth prompt message 1921 and a virtual button 1922. The ninth prompt message 1921 may be, for example, "Dissolve the virtual space?". The virtual button 1922 includes a cancel button 1923 and a confirm button 1924. The cancel button 1923 is used to trigger electronic device A to cancel dissolving the virtual space. The confirm button 1924 is used to trigger dissolving the virtual space. It is understood that... Figure 19B This is an example of the ninth prompt box 1920, and this application does not limit the content and form of the ninth prompt box 1920. In response to clicking the confirm button 1924, electronic device A exits the virtual space, displays the main interface 410 of the Changlian app, and a tenth prompt box 1930 pops up on the main interface 410 of the Changlian app, as shown below. Figure 19C As shown. The tenth prompt box 1930 is used to notify the user that the virtual space of electronic device A has been disbanded. Figure 19C In the tenth prompt box 1930, a tenth prompt message is included. This tenth prompt message could be, for example, "You have disbanded the virtual space of electronic device A." It is understood that... Figure 19C This is one example of the tenth prompt box 1930, and this application does not limit the content and form of the tenth prompt box 1930. It is understood that before exiting the virtual space, electronic device A may display other interfaces, such as the interfaces of other applications, the main interface, or other interfaces of the virtual space; this application does not limit this. It is also understood that electronic device A may respond to the clicking of the "Close" button 1912 without displaying the ninth prompt box 1920, directly closing the virtual space of electronic device A and displaying... Figure 19C The interface shown.
[0181] It is understandable that after electronic device A dissolves its virtual space, or electronic device B exits its virtual space, the pictures originally shared by the electronic devices will be deleted from the virtual space.
[0182] The flowchart of a file sharing method provided in this application embodiment will be described with reference to the above-described figures, as follows: Figure 20 As shown. The method specifically includes:
[0183] S2001: A first electronic device establishes a proximity connection with at least one second electronic device; a first user logs into a first application on the first electronic device, and a second user logs into the first application on the second electronic device.
[0184] In some embodiments, before the first electronic device establishes a proximity connection with at least one second electronic device, the method further includes: the first electronic device receiving an instruction to create a virtual space. In some embodiments, a user can trigger the generation of the instruction to create a virtual space by operating a create virtual space option displayed in the user interface of the first electronic device, such as... Figure 4B As shown. The user interface can be the interface of a communication application, such as... The interface of communication apps such as Changlian. The following explanation uses Changlian as an example, but this application is not limited to Changlian. In some embodiments, a user can operate a first electronic device to display the user interface, such as... Figure 4A As shown. The first user logs into the first application on the first electronic device, such as... Figure 4A As shown. The second user logs into the first application on the second electronic device, as... Figure 7A As shown. In some embodiments, in response to the instruction to create a virtual space, the first electronic device establishes a proximity connection with at least one second electronic device.
[0185] In some embodiments, a first electronic device directly or indirectly discovers a second electronic device, and the first electronic device establishes a proximity connection with the second electronic device. The second electronic device includes a first target electronic device identified by the first electronic device among one or more devices discovered via the proximity communication unit, and a second target electronic device directly or indirectly discovered by the first target electronic device. For example... Figure 5A and Figure 5B As shown, the first target electronic device identified by the first electronic device among one or more devices discovered by the near-field communication unit includes electronic device B, and the second target electronic device discovered directly or indirectly by the first target electronic device includes electronic device C. Figure 5A In this scenario, first electronic device A identifies electronic device B as the first target electronic device. The first target electronic device B is within a preset threshold distance of first electronic device A and is a contact of first electronic device A in the seamless connectivity feature. That is, the second electronic devices directly discovered by the first user's first electronic device A include electronic device B. Figure 5B In this scenario, the first target electronic device B identifies electronic devices A and C as second target electronic devices. The second target electronic devices A and C are within a preset threshold distance from the first electronic device B and are mutually connected contacts in the seamless connectivity mechanism. The second target electronic device C identifies electronic device B as a third target electronic device. The third target electronic device B is within a preset threshold distance from the first electronic device C and is mutually connected contacts in the seamless connectivity mechanism. In other words, the second electronic devices indirectly discovered by the first user's first electronic device A include electronic device C.
[0186] S2002: The first electronic device displays the virtual space interface of the first user. The virtual space interface is the interface of the first application. The virtual space interface of the first user displays a first identifier and one or more second identifiers. The first identifier is a first user identifier or a first electronic device identifier, and the second identifier is a second user identifier or a second electronic device identifier. The first identifier is displayed in a first area, and one or more second identifiers are displayed in a second area. The position of the second area is different from the position of the first area. The first area is used to display a list of members who have joined the virtual space, and the second area is used to display a list of users who are not currently in the virtual space and whose corresponding second electronic devices are listed.
[0187] In some embodiments, the first electronic device displays a virtual space interface for the first user based on a page template and a second electronic device. For example, in Figure 4C In the process, the first electronic device A displays the virtual space interface 430 of electronic device A according to the page template, the first target electronic device B, and the second target electronic device C. Figure 4C In the virtual space, the first area is a member area 438, and the second area is a user area 439. The member area 438 displays the identifier A of electronic device A. Optionally, the member area 438 may also display the user identifier of the user of electronic device A in the Connect application. The user area 439 displays the identifier B of electronic device B and the identifier C of electronic device C. Optionally, the user area 439 may also display the user identifiers of the users of electronic device B and electronic device C in the Connect application.
[0188] S2003: Based on inviting a new member to join the virtual space or receiving a request for a new member to join the virtual space, the first electronic device adjusts the identifier of the new member from the second area to be displayed in the first area; the new member is one or more users among the second users corresponding to the second identifier, and the identifier of the new member is one or more identifiers among the second identifiers; the new member corresponds to a third electronic device, and the third electronic device is one of the at least one second electronic device; electronic devices that have joined the virtual space can share files.
[0189] In some embodiments, a user of the first electronic device can interact with one or more second identifiers displayed in a second area to invite new members to join the virtual space. For example, in Figure 6AIn this scenario, a user of the first electronic device A can interact with the device identifier B of electronic device B displayed in user area 439. For example, clicking on device identifier B allows the user of electronic device B to invite the user of electronic device B to join the virtual space. It is understood that the first electronic device can also adjust the display of the new member's identifier from the second area to the first area based on feedback information indicating the new member's consent. Figure 7B and Figure 7C As shown.
[0190] In some embodiments, new members can actively request to join the virtual space by operating the user interface displayed on their electronic device. For example, in Figure 8A In the process, on the main interface 710 of the connected device B, a virtual space joining entry 811 is also displayed. The user of device B can operate the virtual space joining entry 811, for example, by clicking the virtual space joining entry 811. Figure 8A As shown, a request for a new member to join the virtual space is sent to the first electronic device. It is understood that the first electronic device can also adjust the display of the new member's identifier from the second area to the first area based on the user's consent to the new member's joining, for example... Figure 9B and Figure 9C As shown.
[0191] In some embodiments, Figure 6C In the virtual space interface 430, upon receiving a request to invite a new member or accept a request to join the virtual space, the first electronic device A displays its device identifier A and the device identifier B of electronic device B in the member area 438 of the virtual space interface 430, and displays the device identifier C of electronic device C in the user area 439. It is understood that the new member can be not only electronic device B, but also electronic device C, or only electronic device C. The new member can be multiple members joining the virtual space simultaneously, or multiple members joining the virtual space at different times.
[0192] In some embodiments, electronic devices that join the virtual space can share files, such as the first electronic device A shown in 10A-10D and 11A-11B sharing a picture to the virtual space, and the action of electronic device B shown in 12A-12B when the first electronic device A shares a picture to the virtual space.
[0193] In some embodiments, the first electronic device may further display a thumbnail or name of a file in the third area of the first user's virtual space interface based on the file sharing request received from the first electronic device or a sharing request received from the third electronic device including a URL link for sharing the file.
[0194] Specifically, the first electronic device, upon receiving a request to share a file, displays a thumbnail or name of the file in the third area of the first user's virtual space interface based on the URL link of the shared file. Figure 10A-10D As shown. The first electronic device A also displays a third area in the first user's virtual space interface, for example... Figure 10A File sharing area 437 in the first electronic device A. The first electronic device A also displays a fourth area in the first user's virtual space interface, for example... Figure 10A The file selection area is 432. Figures 10A-10C In the first electronic device A, the user can click the image type icon 434 displayed in the file selection area to display shooting options, thumbnails or names of local images in the file selection area 432 of the virtual space interface 430, and generate a request for the first electronic device to share files; in response to the image selection operation, the first electronic device A can select the image to share; in response to the operation of sharing the selected image, the first electronic device A displays the thumbnail or name of the shared image in the virtual space area 433 of the first electronic device A, such as Figure 10D As shown. The process by which the first electronic device generates a URL link based on a file sharing request from the first electronic device can be described as follows: Figure 11A-11B As shown.
[0195] S2004: The first electronic device displays at least one file set in the third area of the first user's virtual space interface, each file set including one or more files belonging to the same category, and each file set is obtained by classifying the files shared by the first electronic device and the third electronic device in the virtual space.
[0196] In some embodiments, if the shared files meet preset classification criteria, the first electronic device displays at least one set of files in a third area of the first user's virtual space interface. The preset classification criteria may be, for example, clicking a classification button 1313. Figure 15A As shown. In some embodiments, the preset classification condition may be that the number of files in the file sharing area 737 exceeds a preset number. In some embodiments, the preset classification condition may also be the classification results received from other members in the virtual space.
[0197] In some embodiments, the first electronic device displays at least one set of files in a third area of the first user's virtual space interface, such as... Figure 16BAs shown. In some embodiments, the file shared by the first electronic device in the virtual space is a first file, and the type of the first file is a first type. The file shared by the third electronic device in the virtual space is a second file, and the type of the second file is a second type. The first electronic device also receives multiple files sent by the third electronic device, wherein the multiple files are a preset number of files extracted by the third electronic device from the files of the second type. If the characteristic parameters of the multiple files are the same as the characteristic parameters of the first file, the first electronic device displays the first file and the second file under the same file set in the third area of the first user's virtual space interface. For example, as... Figure 16A As shown, first electronic device A shares image a1 to a virtual space, and image a1 is of type A1 (first type); electronic device B shares image b1 to a virtual space, and image b1 is of type B1 (second type); electronic device B extracts M images of type B1 locally and sends the extracted M images to first electronic device A; first electronic device A determines the feature parameters of the extracted M images and compares them with the feature parameters of type A1 to determine whether A1 and B1 are of the same type; if the feature parameters of the extracted M images are the same as the feature parameters of type A1, then A1 and B1 are of the same type; first electronic device A classifies image a1 and image b1 into the same type in the file sharing area.
[0198] It is understood that if the characteristic parameters of multiple files are different from those of the first file, the first electronic device will also display the first file and the second file under different file sets in the third area of the first user's virtual space interface.
[0199] In some embodiments, the first electronic device displays the source of the file information under each file set, where the source is the identifier of the user who shared the file or the identifier of the electronic device, such as... Figure 15C and Figure 15D As shown. In Figure 15C and Figure 15D In the document, the source of the image is displayed on the thumbnail or name of the image within each file collection.
[0200] In some embodiments, the first electronic device further receives an operation on a file or set of files in a third area of the first user's virtual space interface, selecting a file to be downloaded; the file to be downloaded is a file shared by electronic devices among the multiple third electronic devices; in response to the operation of downloading the file to be downloaded, the first electronic device displays the downloaded file in a fourth area of the first user's virtual space interface; the source of the file is displayed on the downloaded file, the source being the identifier of the user or electronic device that shared the file. Figures 13A-13C and Figures 15A-15D The illustration shows the process by which electronic device B displays a downloaded file; however, it is understood that the process by which the first electronic device A displays a downloaded file is the same as the process by which electronic device B displays a downloaded file.
[0201] In some embodiments, in response to downloading the file to be downloaded, the first electronic device sends a multicast discovery request to the network space based on the URL link of the file to be downloaded, requesting the network space to broadcast an SSDP protocol request to other electronic devices in the network to request the optimal downloading electronic device for the file to be downloaded; the network space is a multicast address composed of address information in a routing table; the routing table is the current address of the electronic devices in the virtual space; the first electronic device determines the optimal downloading electronic device for the file to be downloaded based on the network information of electronic devices that have already downloaded the file to be downloaded, fed back by the network space; the first electronic device downloads the file to be downloaded by connecting to the optimal downloading electronic device; the first electronic device displays the downloaded file in the fourth area of the first user's virtual space interface. Figure 14 The illustration shows electronic device B searching the network for all devices that have downloaded the file, deciding on the optimal first electronic device A for downloading, and then downloading the file through first electronic device A. However, it is understandable that the process of first electronic device A downloading the file is different from... Figure 14 The process of downloading files is the same for electronic device B.
[0202] In some embodiments, the first electronic device further sends a multicast notification request to the network space, the multicast notification request being used to request that other electronic devices in the network announce that the file to be downloaded has been downloaded. Figure 14 The illustration shows electronic device B announcing the download of a file to other electronic devices in the network via cyberspace. However, it is understood that the process by which the first electronic device A announces the download of a file is different from that of other electronic devices in the network. Figure 14 The process is the same as when electronic device B announces that a file has been downloaded.
[0203] Please refer to Figure 21, Figure 21 This is a schematic block diagram of an electronic device according to an embodiment of this application. The electronic device 21 may include a processor 2101, a memory 2102, and a display screen 2103. The memory 2102 is used to store computer execution instructions; when the electronic device 21 is running, the processor 2101 executes the computer execution instructions stored in the memory 2102 to cause the electronic device 21 to perform... Figure 20 The method shown or the method performed by the electronic device described in the various embodiments of this application.
[0204] In some embodiments, the electronic device 21 further includes a communication bus 2104, wherein the processor 2101 can be connected to the memory 2102 via the communication bus 2104, thereby obtaining computer execution instructions stored in the memory 2102 and executing the computer execution instructions.
[0205] For specific implementation methods of the various components / devices of the electronic device 21 in this application embodiment, please refer to the above description. Figure 20 The implementations of the various methods shown are not described in detail here.
[0206] It is understood that although the embodiments of this application have been described above using images as an example, it is also understood that the files selected, shared and downloaded can be other types of files, such as documents, videos, audio, etc., and this application does not limit them.
[0207] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an ASIC.
[0208] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0209] Through the above description of the implementation methods, 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.
[0210] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of modules or units is merely 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.
[0211] 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.
[0212] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit it. Although this application has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of this application without departing from the spirit and scope of the technical solutions of this application.
Claims
1. A method for sharing files, characterized in that, The method includes: A first electronic device establishes a proximity connection with at least one second electronic device; a first user logs into a first application on the first electronic device, and a second user logs into the first application on the second electronic device; The first electronic device displays the virtual space interface of the first user, which is the interface of the first application. The virtual space interface of the first user displays a first identifier and one or more second identifiers. The first identifier is a first user identifier or a first electronic device identifier, and the second identifier is a second user identifier or a second electronic device identifier. The first identifier is displayed in a first area, and one or more second identifiers are displayed in a second area. The position of the second area is different from the position of the first area. The first area is used to display a list of members who have joined the virtual space, and the second area is used to display a list of users who are not currently in the virtual space and whose corresponding second electronic devices are listed. Upon receiving a request to invite a new member to join the virtual space, the first electronic device adjusts the new member's identifier from the second area to be displayed in the first area; the new member is one or more users among the second users corresponding to the second identifier, the new member's identifier is one or more identifiers among the second identifiers, the new member corresponds to a third electronic device, and the third electronic device is one of the at least one second electronic device; electronic devices that have joined the virtual space can share files; The first electronic device displays at least one file set in the third area of the first user's virtual space interface. Each file set includes one or more files belonging to the same category. Each file set is obtained by classifying the files shared by the first electronic device and the third electronic device in the virtual space. The file shared by the first electronic device in the virtual space is a first file, and the type of the first file is a first type; the file shared by the third electronic device in the virtual space is a second file, and the type of the second file is a second type. The first electronic device displays at least one set of files in a third area of the first user's virtual space interface, including: The first electronic device receives multiple files sent by the third electronic device, wherein the multiple files are a preset number of files extracted by the third electronic device from the second type of files of the third electronic device; If the characteristic parameters of the multiple files are all the same as those of the first file, the first electronic device will display the first file and the second file in the same file set in the third area of the first user's virtual space interface.
2. The method as described in claim 1, characterized in that, The establishment of a proximity connection between the first electronic device and at least one second electronic device includes: The first electronic device directly or indirectly discovers the second electronic device; the second electronic device includes a first target electronic device identified by the first electronic device among one or more devices discovered by the first target electronic device through a proximity communication unit and a second target electronic device directly or indirectly discovered by the first target electronic device; The first electronic device establishes a close-range connection with the second electronic device.
3. The method as described in claim 2, characterized in that: The first target electronic device is within a preset threshold distance from the first electronic device and is a contact of the first electronic device in the first application.
4. The method according to any one of claims 1-3, characterized in that: Before the first electronic device establishes a proximity connection with at least one second electronic device, the method further includes: The first electronic device receives an instruction to create a virtual space; The establishment of a proximity connection between the first electronic device and at least one second electronic device includes: In response to the instruction to create a virtual space, the first electronic device establishes a proximity connection with at least one second electronic device.
5. The method according to any one of claims 1-3, characterized in that: Before the first electronic device displays at least one set of files in a third area of the first user's virtual space interface, the method further includes: The first electronic device, upon receiving a file sharing request from the first electronic device or a sharing request including a URL link of the file from the third electronic device, displays a thumbnail or name of the file in the third area of the first user's virtual space interface based on the URL link of the file being shared.
6. The method as described in claim 1, characterized in that, The first electronic device displaying at least one set of files in a third area of the first user's virtual space interface further includes: If the feature parameters of at least one of the multiple files are different from the feature parameters of the first file, the first electronic device will display the first file and the second file under different file sets in the third area of the first user's virtual space interface.
7. The method according to any one of claims 1-3, characterized in that, The method further includes: The first electronic device displays the source of the file information under each file set, wherein the source is the user identifier or electronic device identifier that shared the file.
8. The method according to any one of claims 1-3, characterized in that, The method further includes: The first electronic device receives an operation on a file or set of files in the third area of the first user's virtual space interface, and selects a file to be downloaded; the file to be downloaded is a file shared by multiple electronic devices in the third electronic device. In response to the operation of downloading the file to be downloaded, the first electronic device displays the downloaded file in the fourth area of the first user's virtual space interface; the source of the file is displayed on the downloaded file, which is the identifier of the user or the electronic device that shared the file.
9. The method as described in claim 8, characterized in that, In response to the operation of downloading the file to be downloaded, the first electronic device displays the downloaded file in the fourth area of the first user's virtual space interface, including: In response to the operation of downloading the file to be downloaded, the first electronic device sends a multicast discovery request to the network space according to the URL link of the file to be downloaded, requesting the network space to broadcast an SSDP protocol request to other electronic devices in the network, in order to request the optimal electronic device for downloading the file to be downloaded in the network; the network space is a multicast address composed of address information in the routing table; the routing table is the current address of the electronic device in the virtual space; The first electronic device determines the optimal electronic device for downloading the file based on the network information of electronic devices that have already downloaded the file to be downloaded, which is fed back from the network space. The first electronic device downloads the file to be downloaded by connecting it to the optimal download electronic device; The first electronic device displays the downloaded file in the fourth area of the first user's virtual space interface.
10. The method as described in claim 9, characterized in that, The method further includes: The first electronic device sends a multicast notification request to the network space, the multicast notification request being used to request to announce to other electronic devices in the network that the file to be downloaded has been downloaded.
11. An electronic device, characterized in that, The device includes a processor, a memory, and a display screen; wherein the memory is used to store computer execution instructions; when the electronic device is running, the processor executes the computer execution instructions to cause the electronic device to perform the method as described in any one of claims 1-10.
12. A computer storage medium, characterized in that, The computer storage medium includes computer-executable instructions that, when executed on an electronic device, cause the electronic device to perform the method according to any one of claims 1-10.
13. A computer program product, characterized in that, When the program code contained in the computer program product is executed by a processor in an electronic device, it implements the method described in any one of claims 1-10.
Citation Information
Patent Citations
Method for transmitting file in application, electronic equipment and system for transmitting file in application
CN113068156A