WO2024093530A1 - 一种投屏方法和电子设备 - Google Patents
一种投屏方法和电子设备 Download PDFInfo
- Publication number
- WO2024093530A1 WO2024093530A1 PCT/CN2023/117850 CN2023117850W WO2024093530A1 WO 2024093530 A1 WO2024093530 A1 WO 2024093530A1 CN 2023117850 W CN2023117850 W CN 2023117850W WO 2024093530 A1 WO2024093530 A1 WO 2024093530A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- screen
- application
- display
- display area
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
- G09G2330/021—Power management, e.g. power saving
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
Definitions
- the embodiments of the present application relate to the fields of communication technology and terminal technology, and in particular to a screen projection method and electronic device.
- the collaborative work of multiple electronic devices brings convenience to users' lives and work.
- a mobile phone receives a message, it can not only display the message notification on the mobile phone, but also transfer the message notification to the PC for display. This makes it convenient for users to view messages across devices and improves the efficiency of collaborative work between devices. Of course, it is not enough to simply transfer message notifications between devices. After users view the message notifications from their mobile phones on the PC, they often need to process the message notifications through the PC, which requires casting the phone screen to the PC.
- An embodiment of the present application provides a screen projection method and an electronic device.
- the second device can still normally display the application projection window provided by the first device.
- an embodiment of the present application provides a screen projection method, which is applied to a first device and a second device, and the method includes: after the first device projects the screen to the second device, the second device displays a first window; when the first device is in a screen-on state, the second device displays first image information from the first device in the first window, and the first image information corresponds to an application interface of a first application in the first device; after the first device switches to a lock screen or screen-off state, the second device displays second image information from the first device in the first window, and the second image information also corresponds to the application interface of the first application in the first device.
- the first device projects its screen to the second device when the screen is on. For example, heterogeneous screen projection is performed. After the heterogeneous screen projection is successful, the first device can draw the application interface of the first application into first image information, and send it to the second device, which is displayed in the first window by the second device. In this way, the user can use the first application installed in the first device by operating the second device. Afterwards, the first device can enter the screen-off or screen-lock state in response to the user's operation. The first device can draw the second image information based on the application interface of the first application, and send it to the second device, so that the second device can continue to display the application interface related to the first application in the first window.
- first image information and second image information both correspond to the application interface of the first application, and can be image information drawn according to the application interface of the first application at different times, that is, the first image information and the second image information.
- the contents displayed by the two image information may be the same or different.
- the first device can continue to project the screen to the second device normally. At the same time, it also avoids excessive energy consumption caused by the long-term screen-on when the user is not using the first device, and prevents others from using the unlocked first device without the user's permission.
- the method further includes: the first device configures the first application to not sleep during its life cycle, and configures the application interface of the first application to be allowed to be drawn in a first display area during its life cycle, where the first display area is an invisible display area in the first device; the first device sends second image information of the first application to the second device, instructing the second device to display the second image information in a first window, where the second image information is data drawn in the first display area.
- the application interface of the first application is kept visible in the foreground, ensuring that after the first device turns off the screen or locks the screen, the user can continue to use the first application in the first device through the first window in the second device.
- the method before the first device projects the screen to the second device, the method also includes: the first device receives a first message of the first application; the first device forwards the first message to the second device; the second device displays a first control, and the first control is used to display the first message; the second device sends a first request to the first device in response to the user's operation of the first control, and the first request includes a first identifier of the first application; the first device starts projecting the screen to the second device in response to the first request.
- the method after initiating screen projection to the second device, the method also includes: the first device creates a first display area and starts a first application; after the application interface of the first application is drawn in the first display area, the first device generates first image information based on the image data in the first display area; the first device sends the first image information to the second device.
- the method before launching the first application, the method also includes: the first device tags the first application with a first tag; before the first device configures the first application to not sleep during its life cycle, and configures the application interface of the first application to be allowed to be drawn in the first display area during its life cycle, the method also includes: the first device determines that the first application has a first tag.
- the method before the first device switches to the lock screen or screen off state, the method also includes: the first device responds to the user's instruction to lock the screen or screen off operation, only controls the display screen of the first device to power off or only displays the lock screen layer on the display screen, and the service running state corresponding to the display screen remains unchanged.
- the first display area is marked with a second label.
- the method further includes: when the first device detects that the conditions for automatic screen off are met, determining that the first display area has the second label; the first device only controls the display screen of the first device to power off or only displays the lock screen layer on the display screen, and the service running status corresponding to the display screen remains unchanged.
- the method before the first device switches to a lock screen or screen off state, the method further includes: the first device determines not to draw a lock screen layer in the first display area.
- the method before the first device switches to a lock screen or screen off state, the method further includes: the first device determines that the first display area does not mirror content in a second display area, and the second display area is a display area visible in the first device.
- the embodiment of the present application provides a screen projection method, which is applied to a first device, and the method comprises: the first device projects the screen to the second device; when the first device is in a screen-on state, the first device projects the screen to the second device; The second device sends first image information corresponding to the first application, instructing the second device to display the first image information on a first window; after the first device switches to a lock screen or screen-off state, the first device sends second image information corresponding to the first application to the second device, instructing the second device to display the second image information on the first window, and the first image information and the second image information are both application interfaces of the first application.
- the method further includes: the first device configures the first application to not sleep during its life cycle, and configures the application interface of the first application to be allowed to be drawn in a first display area during its life cycle, and the first display area is an invisible display area in the first device; the first device generates the second image information based on the content drawn in the first display area.
- the method before the first device projects the screen to the second device, the method also includes: the first device receives a first message of the first application; the first device forwards the first message to the second device; after receiving a first request sent by the second device, starting the screen projection to the second device, the first request is request information for screen projection for the first application, and the first request carries a first identifier of the first application.
- the method before the first device sends the first image information corresponding to the first application to the second device, the method further includes: the first device creates a first display area and starts the first application;
- the first device After the application interface of the first application is drawn in the first display area, the first device generates the first image information according to the image data in the first display area.
- the method before launching the first application, the method also includes: the first device marks the first application with a first tag; before the first device configures the first application to not sleep during its life cycle, and configures the application interface of the first application to be allowed to be drawn in the first display area during its life cycle, the method also includes: the first device determines that the first application has the first tag.
- the method before the first device switches to the lock screen or screen off state, the method also includes: the first device responds to the user's instruction to lock the screen or screen off operation, only controls the display screen of the first device to power off or only displays the lock screen layer on the display screen, and the service running state corresponding to the display screen remains unchanged.
- the first display area is marked with a second label.
- the method further includes: when the first device detects that a condition for automatic screen off is met, determining that the first display area has the second label; the first device only controls the display screen of the first device to power off or only displays the lock screen layer on the display screen, and the service running state corresponding to the display screen remains unchanged.
- the method before the first device switches to a lock screen or screen off state, the method further includes: the first device determines not to draw a lock screen layer in the first display area.
- the method before the first device switches to a lock screen or screen off state, the method further includes: the first device determines that the first display area does not mirror content in a second display area, and the second display area is a display area visible in the first device.
- an embodiment of the present application provides an electronic device, the electronic device comprising one or more processors and a memory; the memory is coupled to the processor, the memory is used to store computer program code, the computer program code comprises computer instructions, when one or more processors execute the computer instructions, the one or more processors A processor is used to execute the method described in the first aspect and its possible embodiments; or, when one or more processors execute computer instructions, the one or more processors are used to execute the method described in the second aspect and its possible embodiments.
- an embodiment of the present application provides a computer storage medium, comprising computer instructions, which, when executed on an electronic device, causes the electronic device to execute the method described in the first aspect and possible embodiments thereof; or, when executed on an electronic device, causes the electronic device to execute the method described in the second aspect and possible embodiments thereof.
- FIG1 is a schematic diagram of a message flow scenario provided in an embodiment of the present application.
- FIG. 2 is a schematic diagram of an interface display of a heterogeneous screen projection provided in an embodiment of the present application.
- FIG3 is a schematic diagram of an interface display of a heterogeneous screen projection provided in an embodiment of the present application.
- FIG4 is a schematic diagram of the principle of a heterogeneous screen projection provided in an embodiment of the present application.
- Figure 5 is a schematic diagram of an interface display of a heterogeneous screen projection provided in an embodiment of the present application.
- FIG6 is a schematic diagram of an interface display of a heterogeneous screen projection provided in an embodiment of the present application.
- FIG. 7 is a flow chart of a judgment mechanism provided in an embodiment of the present application.
- FIG8 is a schematic diagram of an interface display of a heterogeneous screen projection provided in an embodiment of the present application.
- FIG. 9 is a software architecture diagram of an electronic device provided in an embodiment of the present application.
- FIG. 10 is a diagram showing a specific implementation process of a screen projection method provided in an embodiment of the present application.
- FIG. 11 is a specific implementation process diagram of another screen projection method provided in an embodiment of the present application.
- FIG. 12 is a specific implementation process diagram of another screen projection method provided in an embodiment of the present application.
- FIG. 13 is a specific implementation process diagram of another screen projection method provided in an embodiment of the present application.
- FIG. 14 is a specific implementation process diagram of another screen projection method provided in an embodiment of the present application.
- FIG. 15 is a specific implementation process diagram of another screen projection method provided in an embodiment of the present application.
- FIG. 16 is a schematic diagram of a principle provided in an embodiment of the present application.
- FIG. 17 is another schematic diagram of a principle provided in an embodiment of the present application.
- an embodiment of the present application provides a system, including multiple electronic devices, such as device 1, device 2, and device 3.
- the electronic devices in the above system ie, device 1, device 2, device 3 may belong to the same local area network.
- the local area network can be a wireless communication network, such as wireless local area networks (WLAN), wireless fidelity point to point (Wi-Fi P2P), Bluetooth network, zigbee network, infrared technology (IR) or near field communication (NFC) network.
- WLAN wireless local area networks
- Wi-Fi P2P wireless fidelity point to point
- Bluetooth Bluetooth network
- zigbee network infrared technology
- NFC near field communication
- the above-mentioned local area network can also be a wired communication network.
- VGA video graphics array
- DVI digital visual interface
- HDMI high definition multimedia interface
- the above-mentioned local area network can also be a remote network.
- the system composed of devices 1, 2 and 3 can also be called a trust ring.
- the process of mutual trust between devices can refer to related technologies. For example, it can be judged based on one or more of whether the devices have logged in the same system account, whether they have been authorized, and whether near field communication is used. The details are not repeated here.
- multiple electronic devices can securely share data, and the shared data includes but is not limited to message reminders, message records, user information of other electronic devices, device type, running status of each application, identification of each application, synchronization of identification of recently used applications, etc.
- device 1 when device 1 receives a message notification, it can not only display the message notification on device 1, but also transfer the message notification to device 2 and/or device 3 for display. This makes it convenient for users to view messages across devices and improves the efficiency of collaborative work between devices.
- device 2 can also transfer the received message notification to device 1 and/or device 3
- device 3 can also transfer the received message notification to device 1 and/or device 2.
- the screen projection scenario includes a source device and a target device.
- the source device and the target device use a certain protocol to display the content on the source device on the target device, that is, the source device projects the screen to the target device.
- Common protocols include DLNA (Digital Living Network Alliance) protocol, Chromecast protocol, Miracast protocol, Airplay protocol, etc.
- the source device can be a mobile phone, tablet computer, PC, watch, etc.
- the target device can be a tablet computer, PC, TV, etc.
- the source device and the target device may also have other names, for example, the source device may be called an active screen projection device, and the target device may be called a passive screen projection device; or the source device may be called a first computer.
- the sub-device, the target device can be called a second electronic device, etc., and this application does not limit this.
- the source device as a mobile phone and the target device as a PC as an example.
- the mobile phone and the PC belong to the same local area network and complete mutual trust recognition, the mobile phone and the PC belong to the same trust ring, that is, a communication channel for message flow can be established between the mobile phone and the PC.
- multiple types of applications may be installed in a mobile phone.
- application messages pushed by various applications may be received.
- the application messages come from a message server corresponding to the application.
- a social application may be installed in the mobile phone, and the mobile phone may receive application messages pushed by the social application, such as a message “Are you going for a run today?” sent by Xiao Ming, a contact in the social application.
- the mobile phone After receiving an application message pushed by an application, if the mobile phone is unlocked and the screen is on, the mobile phone can display a prompt message on the current interface. For example, when receiving an application message pushed by a social application, if the current interface of the mobile phone is the main interface 101, a notification bubble 102 is displayed in the main interface 101, and the notification bubble 102 is used to display the application message received by the mobile phone.
- the mobile phone can transfer the above application message (for example, "Are you going for a run today?" pushed by a social application) to the PC through the communication channel used for transferring messages between the mobile phone and the PC.
- the above application message for example, "Are you going for a run today?" pushed by a social application
- a prompt message for the above application message can be displayed.
- the above prompt message can be displayed on the desktop of the PC in the form of a message notification control.
- the above message notification control can be a floating window, a message bubble, a message card, etc.
- the relevant content can be that the application message comes from a mobile phone, or that the application message comes from a social application, or that the main content of the application message, etc. It can be understood that in the embodiment of the present application, there is no specific limitation on the display position of the message card 104.
- the message card 104 displayed on the desktop 103 can remind the user to pay attention to the application message currently received by the mobile phone. In this way, even if the user is not currently using the mobile phone directly or the mobile phone is not around, the user can still understand the brief content of the application message to avoid missing the message.
- the message card 104 may have a display time limit.
- the display time limit is preset to time 1, and the PC starts to display the message card 104 in response to the application message forwarded by the mobile phone.
- the PC may cancel the display of the message card 104.
- the PC detects that the user is in contact with the display area 1 in the touch screen, and the PC determines that the user indicates to select the message card 104.
- the display area 1 is the area on the touch screen where the message card 104 is displayed.
- the PC is connected to a mouse, it is detected that the cursor corresponding to the mouse is located in the display area 1, and a confirmation instruction is input, and the PC determines that the user indicates to select the message card 104.
- the user can process the application message by operating the PC, or can choose to process the application message by directly operating the mobile phone.
- the method of directly operating the mobile phone to process the application message can refer to the relevant technology.
- the mobile phone in response to the user clicking the notification bubble 102, the mobile phone can run the social application in the foreground and display the application interface containing the above social message. In this way, the user can reply to the application message by operating on the above application interface.
- the mobile phone responds to the user's instruction to start the social application and displays the application interface of the social application. In this way, the user can By operating on the application interface provided by the social application, the above application messages can be viewed or replied to.
- choosing to operate the PC to process application messages will trigger screen projection between the mobile phone and the PC.
- the user can select the message card 104 on the PC.
- the PC can remotely control the mobile phone to run the social application.
- the social application enters the running state, the PC can display the projection window on the desktop 103.
- the user can control the mobile phone through the projection window in the PC, such as operating the mobile phone to process the above-mentioned application messages.
- the above-mentioned screen projection window can be used to synchronously display the current interface of the mobile phone.
- the screen projection window also displays the application interface, which is the same-source screen projection.
- the current interface of the mobile phone can also be displayed asynchronously.
- the mobile phone displays the main interface
- the screen projection window displays the application interface, which is a different-source screen projection.
- heterogeneous screen projection can be realized through data interaction between the PC and the mobile phone. As shown in FIG2 , after the PC determines that the user has selected the message card 104, the heterogeneous screen projection is started, the main interface 101 is still displayed on the display screen of the mobile phone, and the projection window 201 on the display screen of the PC displays the application interface 202 corresponding to the above application message.
- the content displayed in the projection window will not change synchronously with the content displayed on the mobile phone display.
- the mobile phone display switches to display information application interface 303, and the projection window 201 on the PC display still displays the application interface 201 corresponding to the above application message.
- Figure 4 is a schematic diagram of the principle of heterogeneous screen projection in Figures 2 and 3 above.
- the display information on the target device is not synchronized with the display information on the foreground of the source device.
- the window of application B is displayed on the source device.
- the window of application B is displayed in the created virtual display area (VirtualDisplay).
- the content of the virtual display area (such as the first display area) is invisible to the user and can be used for projection to the target device for display.
- the source device also includes a user-visible display area (such as the second display area).
- the user-visible display area displays the window of application A, that is, the source device displays the window of application A in the foreground.
- the user-visible area on the source device is switched from the window of application A to the window of application C, that is, the source device displays the window of application C in the foreground.
- the window of application B is still displayed on the target device.
- the heterogeneous screen projection method has better isolation.
- the heterogeneous screen projection method can provide users with independent control screens (i.e., the display screen of the source device and the display screen of the target device) to handle different applications.
- the source device operates application A, or switches the window of application A to the window of application C, and the user can still operate application B on the target device. Therefore, heterogeneous screen projection releases the control of the display information of the source device over the display information of the target device, thereby enhancing the reusability of multiple devices and allowing users to operate different applications on different devices through screen projection.
- the content displayed in the projection window changes synchronously with the content displayed on the mobile phone display.
- the heterogeneous screen projection scenario is described as an example.
- the mobile phone is also in a bright screen and unlocked state.
- the user interacts with the social application in the mobile phone through the projection window in the PC. That is, the user only needs to operate the PC to use both the PC and the mobile phone at the same time.
- the mobile phone is in a bright screen and unlocked state for a long time. In this way, it not only consumes power, but also easily causes privacy leakage.
- the user often chooses to click the lock screen button to instruct the mobile phone to enter the screen-off state.
- the mobile phone does not detect user operation for a long time, it will automatically enter the lock screen state.
- the mobile phone if it does not detect user operation for a long time, it will automatically enter the lock screen state.
- the mobile phone if it does not detect user operation for a long time, it will automatically enter the lock screen state.
- the mobile phone if it detect user operation for a long time, it will automatically enter the lock screen state.
- the mobile phone if the mobile phone as the source device enters the screen-off state, it will directly affect the display of the projection window in the PC.
- the display screen of the mobile phone will be black, and at the same time, the projection window in the PC will also be black, which will directly affect the user's remote control of the mobile phone through the PC.
- the above-mentioned black screen refers to a state where the display screen is not lit or only displays a screen saver image.
- the PC displays the projection window while the phone is also in the screen-on and unlocked state. If the phone receives the user's instruction to lock the screen, as shown in Figure 6, the phone enters the lock screen state and displays the lock screen layer. At the same time, the projection window in the PC will also display the lock screen layer, which will directly affect the user's remote control of the phone through the PC.
- the embodiment of the present application provides a screen projection method and an electronic device to provide users with a convenient and efficient screen projection experience.
- the PC after receiving the application message transferred from the mobile phone, the PC can display the corresponding message card 104 on the main interface 103.
- the PC can also receive one or more application messages transferred from any device in the same trust ring.
- the PC can respond to user operations and display an information list window, which can centrally display received message notifications, or centrally display received and unprocessed message notifications.
- the above-mentioned message notifications can also be displayed in the form of message cards in the information list window.
- an information list window may be displayed on the main interface.
- the information list window may display application messages from different devices, etc. It is understandable that the application messages displayed in the information list window are all information recently received by the PC from other devices in the trust ring.
- the PC can trigger the device corresponding to the message card to project the screen.
- the application message displayed on message card a comes from a mobile phone in the trusted ring.
- the mobile phone can be triggered to project the screen to the PC.
- the projection may fail.
- the projection fails.
- the projection fails.
- the projection fails.
- the channel used for projection is occupied by other devices.
- the projection fails.
- the projection fails.
- application lock refers to the protection set by the user of the source device for a certain application in order to protect the security or privacy of the application.
- the user needs to enter a pre-set password or fingerprint to open the application.
- the source device has an optional additional layer of protection for application a (for example, the application corresponding to the message card selected by the user on the PC).
- the source device sets an application lock for application a, it means that the owner of the source device wants to enter a password or fingerprint to unlock application a every time it is accessed. In this case, it is not suitable for such applications with strong privacy protection to directly start screen projection on the target device when the source device is in the locked screen state, which goes against the original intention of the user to set the application lock.
- the PC after the PC detects that the user has selected a message card, it sends a query message 1 to the device (e.g., a mobile phone) corresponding to the message card.
- the query message 1 is used to query whether the mobile phone has an application lock configured for the message application. If the mobile phone has an application lock configured for the message application, the mobile phone will send feedback message 1 to the PC.
- the feedback message 1 indicates that the message application is currently protected by an application lock.
- the PC can display a reminder message 1, which is used to remind the user that the application corresponding to the selected message card is protected by an application lock.
- the reminder message 1 can be displayed on the PC in the form of a floating window or a card.
- the embodiment of the present application does not limit the display form of the reminder message.
- the source device and the target device can establish a screen projection connection through WLAN or WI-FI P2P.
- the establishment of the screen projection connection can refer to the above-mentioned method of establishing a communication connection between the source device and the target device, which will not be repeated here.
- the following embodiment establishes a screen projection connection in a WI-FI P2P manner.
- the PC after the PC detects that the user has selected a message card, it determines whether the screen projection communication channel (Wi-Fi P2P channel) between the source device (i.e., mobile phone) and the target device (i.e., PC) corresponding to the message card has been occupied by other services. Among them, the source device and the target device establish a screen projection connection through the screen projection channel for data transmission, thereby realizing content mirroring between two or more electronic devices.
- Wi-Fi P2P channel Wi-Fi P2P channel
- the screen projection channel corresponding to the source device and the opposite device is occupied, resulting in the source device being unable to project the screen to the target device based on WI-FI P2P.
- the PC determines that the screen projection channel (Wi-Fi P2P) between the PC and the mobile phone is occupied, and the screen projection fails to start, and the reminder message 2 is displayed.
- the reminder message 2 exemplarily prompts the user that "screen projection connection conflicts, please disconnect the connection with other devices and try again", thereby prompting the user to go to the source device (mobile phone) or the target device (PC) to disconnect the screen projection connection with other devices.
- the reminder message 2 can be displayed on the PC in the form of a floating window or a card, and the embodiment of the present application does not limit the display form of the reminder message.
- the PC determines whether the network status of the source device (ie, the mobile phone) corresponding to the message card meets the screen projection requirements.
- the network status includes the flow table matching status, the data packet execution port load status, the total number of lost/forwarded/received data packets or the failure of the data packet TTR and other similar situations. Any network status that may occur in the network is included and is not limited here. It can be understood that the network status will affect the service quality of the screen projection, and the PC can optionally have a minimum network status threshold that meets the screen projection conditions. If the PC determines that the current network status is lower than this minimum network status threshold, it is considered that the current network status cannot meet the screen projection requirements, resulting in a screen projection failure.
- the screen projection fails to start, and a reminder message 3 is displayed.
- the reminder message 3 can remind the user to try to trigger the source device to cast the screen after the network is stable.
- the user is prompted with an exemplary message "The network is unstable, please try again" to prompt the user to adjust and optimize the network status.
- the judgment order of the judgment mechanism can be adjusted, and after a judgment node triggers a failure to start the screen projection, the judgment process can stay at the judgment node and continue to detect whether the conditions for entering the next judgment node are met.
- the user adjusts according to the prompts, and when the conditions for entering the next judgment node are met, the judgment process automatically enters the next judgment node.
- Figure 7 illustrates that after the PC detects that the user has selected a message card, the PC can first check whether the corresponding application is protected by an application lock (which can be called application lock detection), then check whether the communication channel used for screen projection is occupied (which can be called channel detection), and finally check whether the network conditions meet the requirements (referred to as network detection).
- application lock detection which can be called application lock detection
- channel detection which can be called channel detection
- network detection the order of the above-mentioned multiple tests is not limited, that is, in some embodiments, the PC can also first check whether the communication channel used for screen projection is occupied, then check whether the corresponding application is protected by an application lock, and finally detect the network conditions.
- the PC can also perform application lock detection, channel detection, and network detection simultaneously, and display corresponding reminder information when the obtained detection results indicate that at least one detection item fails to trigger screen projection. For example, if the obtained test results indicate that the application is protected by the application lock and the communication channel is occupied, the PC will simultaneously display reminder information 1 and reminder information 2.
- the PC determines that the mobile phone has the conditions for screen projection, so that, as shown in Figure 8, the PC can display a screen projection window 201, which is used to display the application interface of the social application in the mobile phone. In the case of screen projection failure, the PC can display a corresponding reminder message.
- the source device can enable a distributed authentication function. That is, when the source device (such as a mobile phone) enables the distributed authentication function and is configured with an unlock password, if the target device (PC) passes the aforementioned tests (such as application lock detection, communication channel detection, and network detection) and determines that the source device has the conditions for screen projection, then the target device can display the screen projection window, and the screen projection window at this time is used to display the unlock verification interface.
- the above unlock password can be an authentication password used to unlock the mobile phone screen.
- the PC can display the screen projection window 201.
- the above-mentioned screen projection window 201 can first display the unlock verification interface.
- the screen projection window 201 is controlled to switch to display the "prompt waiting information".
- the mobile phone responds to the instructions of the PC, starts the social application, and draws the application interface of the social application in the virtual interface, and obtains the drawing parameters of each display object in the virtual interface.
- the above-mentioned virtual interface is a service for the PC, which is not visible on the display screen of the mobile phone.
- the above-mentioned drawing parameters are related parameters for rendering the interface, which can also be called display information in some examples.
- the mobile phone After the mobile phone completes drawing the above application interface, it sends the corresponding display information to the PC, instructing the PC to render the above application interface in the projection window 201.
- the projection window 201 switches to display the application interface of the social application (e.g., the application interface containing the application message corresponding to the message card 104). That is, the mobile phone displays the virtual world.
- the screen is projected to the projection window 201 of the PC. That is, after the PC receives the mobile phone unlocking password entered by the user and the unlocking password is verified, the mobile phone starts to project the screen to the PC from a different source.
- the target device when the source device projects the screen to the target device for the first time, if the source device has not set an unlock password, the target device does not need to display the unlock verification interface in the projection window, but instructs the source device to directly project the screen from another source. In this scenario, the target device can directly display the "prompt waiting information". After the source device completes drawing the application interface to be projected, the target device controls the projection window to display the application interface to be projected.
- the source device projects the screen to the target device for the first time
- the source device has an unlock password set, that is, the user needs to perform password authentication before directly using the source device.
- the target device determines that the source device is qualified for screen projection, it can trigger distributed authentication.
- distributed authentication please refer to the above text and will not be repeated here.
- the distributed authentication mechanism will be triggered when the target device instructs the source device to perform heterogeneous screen projection.
- the first time the source device starts screen projection on the target device may refer to the first time the source device starts heterogeneous screen projection on the same target device, or it may refer to the first time the heterogeneous screen projection is started during the period from when the target device is turned on to when it is shut down.
- the target device is turned on for the first time, and the target device is shut down for the first time after being used for a period of time
- the first startup to the first shutdown is the first usage period.
- the target device is turned on for the second time, and the target device is shut down for the second time after being used for a period of time, and the second startup to the second shutdown is the second usage period.
- the first time the source device starts heterogeneous screen projection on the target device belongs to the "first" startup referred to in the second explanation; during the second usage period, the first time the source device starts heterogeneous screen projection on the target device also belongs to the "first" startup referred to in the second explanation.
- the source device in a scenario where it is not the first time that the source device is projecting the screen to the target device, that is, the source device has previously initiated heterogeneous screen projection on the same target device, or the source device has initiated heterogeneous screen projection on the target device during the period from when the target device was turned on to when it was shut down.
- the second explanation is that during the first use period, the source device starts heterogeneous screen projection on the target device for the first time, and when the source device starts heterogeneous screen projection on the target device for the second time, the target device will determine that the source device has started heterogeneous screen projection on the target device; the same applies to the third, fourth, and other times. During the second use period, the source device starts heterogeneous screen projection on the target device for the first time.
- the target device will determine that the source device has started heterogeneous screen projection on the target device for the first time; when the source device starts heterogeneous screen projection on the target device for the second time, the target device will determine that the source device has started heterogeneous screen projection on the target device; the same applies to the third, fourth, and other times. If the source device has started heterogeneous screen projection on the target device, in order to reduce the number of times the user enters the password while ensuring the privacy of the user, the target device can optionally first determine whether the time since the last distributed authentication exceeds the preset time threshold.
- the preset time threshold can be a default value or a value set by the user. It indicates that within this time range, the screen projection connection between the source device and the target device still meets the requirements of protecting user privacy and security. Therefore, when the target device determines that the time since the last distributed authentication does not exceed the preset time threshold, it directly starts the screen projection without displaying the unlock verification interface. This can avoid repeated requests.
- the user inputting passwords makes the operation cumbersome, which improves the convenience of users in using heterogeneous screen projection while ensuring the privacy of users.
- the time since the last security authentication is passed exceeds the preset time threshold distributed authentication needs to be performed again. It can be understood that when the target device determines that the time since the last distributed authentication is passed exceeds the preset time threshold, it is considered that the screen projection connection between the source device and the target device at this time no longer meets the requirements of protecting user privacy and security.
- the distributed authentication process in this case is the same as the distributed authentication process of "the source device starts heterogeneous screen projection on the target device for the first time" mentioned above, and will not be repeated here.
- the source device has set an unlock password and has not previously started heterogeneous screen projection on the target device.
- the target device determines that the user has instructed the source device to perform screen projection and that the source device has the conditions for screen projection, the distributed authentication mechanism can be triggered.
- the first heterogeneous screen projection is successfully started; the first heterogeneous screen projection ends at time T1; assuming that the preset time threshold set by the user is 1 hour, at time T2 the target device detects again that the user has instructed the same source device to perform heterogeneous screen projection; the target device determines that the source device has started heterogeneous screen projection on the target device, and then determines whether the time from T2 to T1 is greater than 1 hour; the target device determines that the value of (T2-T1) is less than 1 hour, and directly starts the second heterogeneous screen projection.
- the mobile phone displays the main interface 101 and the screen projection window 201 on the PC.
- the screen projection window 201 displays the application interface of the screen-projected application, such as the application interface 202 of the social application.
- the display screen of the mobile phone enters a pseudo-screen-off state, and the projection window 201 of the PC continues to display the application interface 202.
- the mobile phone When the mobile phone receives a lock screen operation from the user, or when the mobile phone automatically locks the screen due to lack of user operation for a long time, the mobile phone displays the lock screen interface, and the projection window 201 of the PC continues to display the application interface 202.
- the layered architecture divides the software into several layers, each with clear roles and division of labor.
- the layers communicate with each other through software interfaces.
- the right half of Figure 9 is a software architecture diagram of the source device, such as a mobile phone.
- the left half of Figure 9 is a software architecture diagram of the target device, such as a tablet (Pad) or PC.
- the software framework of the source device may include an application layer, a capability service layer, an application framework layer (framework, FWK), an Android runtime (Android runtime) and a system library and a driver layer.
- the application layer may include a series of application packages, such as social, information, call, camera and other applications (also referred to as applications).
- exemplary, social applications include WeChat, QQ, etc.
- information applications include text messages, etc.
- the application is referred to as the application below.
- the application on the source device can be a native application (such as an application installed in the source device when the operating system is installed before the source device leaves the factory), or it can be a third-party application (such as an application downloaded and installed by the user through the application store), which is not limited in the embodiments of this application.
- the capability service layer provides capability support for implementing corresponding services. As shown in Figure 9, it may include a screen projection assistant module, a first virtualization service module, a first screen projection service module, a first device discovery authentication connection module, etc.
- the screen projection assistant module can be a module used to interact with other electronic devices (such as target devices) to exchange screen projection related information, realize end-to-end logical control and connection management of screen projection, and generate a session key (SessionKey) to ensure the security of the communication session between the source device and the target device.
- the screen projection assistant module may include functional modules such as a screen projection management module, a heterogeneous switching module, and a virtualization service initialization module.
- the screen projection management module is responsible for managing screen projection related matters, such as adding and removing related processing logic settings of VirtualDisplay.
- VirtualDisplay can also be called a virtual display area, a virtual screen, or a virtual Display.
- the heterogeneous switching module is used to control the source device to switch from a heterogeneous screen projection mode to a homogeneous screen projection mode.
- the virtualization service initialization module makes initialization settings for the virtualization service that starts heterogeneous screen projection.
- the first virtualization service module is used to implement end-to-end logical control of screen projection of audio and video streams, and is responsible for the audio and video data streams generated by Speakers, Mics, Cameras, etc. transmitted between the source device and the target device.
- the first screen projection service module may include a first display virtualization module and a first reverse control module, which respectively provide screen projection capabilities (i.e., the content of the source device is projected to the target device for display) and reverse event (i.e., the event triggered by the target device to control the source device) basic control capabilities.
- the first screen projection service module receives instructions from the screen projection management module, and provides corresponding screen projection services according to the instructions, thereby realizing the projection of programs running on the local computer to other electronic devices (such as the target device).
- the first screen projection service module injects reverse control and input method into the display of the target device (hereinafter referred to as the external screen), and adds a virtual display tag (such as Flag1) when creating a virtual display area, so that the external screen only displays its own content, and does not mirror the content of the display of the source device (hereinafter referred to as the main screen), thereby realizing heterogeneous screen projection.
- a virtual display tag such as Flag1
- the first device discovery connection authentication module is responsible for discovery, connection, authentication and other tasks, and is used to control the driver layer to implement proximity discovery, authentication, connection and other functions between the source device and the target device, and may include a first communication module and a first security authentication module.
- the first communication module provides a signaling transmission channel between the source device and the target device, and is used to send instructions to the driver layer to establish a communication connection and a screen projection connection between the source device and the target device. At the same time, the first communication module is also used to start the screen projection assistant module after the transmission channel is established.
- the first security authentication module is used for security authentication, and is responsible for owner identification and initiating distributed unlocking authentication to obtain a trust ring and ensure the privacy and security of users.
- the application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer.
- the application framework layer includes some predefined functions. As shown in Figure 9, the application framework layer may include an activity management service (ActivityManagerService, AMS), a window management service (WindowManagerService, WMS), a multi-screen framework module, a SystemUI module, etc.
- AMS is responsible for managing Activities, starting, switching, and scheduling components in the system, and managing and scheduling applications. For each Activity, there will be a corresponding application record (ActivityRecord) in AMS, which records the status of the Activity of the application. Each activity will create a corresponding ActivityRecord object in AMS. AMS can use this ActivityRecord as an identifier to schedule the Activity process of the application; these ActivityRecord objects are managed in their respective task stacks, and each task stack can add multiple ActivityRecord objects; all task stacks are uniformly managed by ActivityStack, which is responsible for the order, stacking, and popping of TaskStack. Specifically, AMS defines data classes for saving processes (Process), activities (Activity), and tasks (Task).
- the data class corresponding to the process can include process file information, process memory status information, and the information contained in the process.
- Activity, Service, etc. Activity information can be saved in ActivityStack.
- ActivityStack is used to uniformly schedule application activities. ActivityStack can specifically save all running Activity (i.e. final ArrayList mHistory) information, such as interface configuration information. For example, the running Activity can be saved in newArrayList. ActivityStack can also save the information of historically run Activities, such as interface configuration information. It should be noted that Activity does not correspond to an application, but ActivityThread corresponds to an application. Therefore, Android allows multiple applications to run at the same time, which actually allows multiple ActivityThreads to run at the same time.
- each application process reports to AMS when it wants to start a new Activity or stop the current Activity.
- AMS internally records all application processes. When AMS receives a start or stop report, it first updates the internal record and then notifies the corresponding client process to run or stop the specified Activity. Since AMS has records of all Activities internally, it can schedule these Activities and automatically close the background Activity according to the status of the Activity and system memory.
- WMS carries data and attributes related to the "interface” and is used to manage the state related to the "interface", that is, to manage the graphical user interface (GUI) resources used on the mobile phone screen, such as managing window programs and event dispatching.
- managing window programs means outputting to the physical screen or other display devices in an orderly manner with the assistance of the application server and WMS according to the display request of the application.
- Event dispatching means dispatching user events from the keyboard, physical buttons, touch screen, mouse, trackball (TraceBoll), etc. to the corresponding controls or windows.
- the management window program can also obtain the size of the display screen, determine whether there is a status bar, lock the screen, capture the screen, etc., and is responsible for managing the display mode of the application window, including the coordinate size of the window display, the window display level, etc. Specifically, it may include: creating and destroying windows, displaying and hiding windows, layout of windows, management of focus, and management of input methods and wallpapers, etc.
- WMS can ensure the visibility of the projection window when the mobile phone is locked and the screen is off.
- the task stack management function of AMS is used to manage the life cycle of Activities and the scheduling between Activities.
- the life cycle management function of WMS is used to manage the life cycle of windows. The two can cooperate with each other to activate the window through the callback (onResume) interface, and the activated window is displayed in the foreground; or, the window can be paused through the pause (onPause) interface to switch the window from the foreground to the background.
- the top Window (top Activity) in the task stack as an example, the top Activity calls onResume to activate it, then the top Activity is displayed in the foreground.
- the original top Activity calls onPause to pause the window so that the original top Activity switches from the foreground to the background. Similar principles can be used to manage the life cycle of new windows.
- the multi-screen framework module is responsible for implementing the heterogeneous screen projection logic, calling the PendingIntetRecord interface to start the Acvtivity corresponding to PendingIntet (specify the behavior send), and starting the application corresponding to the Activity to the virtual display area by adding a heterogeneous screen projection tag (such as Flag2).
- PendingIntent is a capability provided by Android for external programs to call up their own programs. Its life cycle is not related to the main program. When certain conditions are met or certain events are triggered, the specified behavior is executed.
- the multi-screen framework module is also used to monitor sensing events and interact with the screen projection assistant module.
- the multi-screen framework module can be used to translate, encapsulate, and process the original input events to obtain input events containing more information and send them to WMS.
- WMS stores the clickable areas (such as controls) of each application, the location information of the focus window, etc. Therefore, WMS can correctly distribute input events to the specified
- the multi-screen framework module can respond to the received input events, forward the input events to the WMS, and the WMS distributes them to the corresponding applications.
- the application sends a registration request to the AMS, and the application starts.
- the multi-screen framework module is also used to switch the application projected to the external screen back to the main screen when the user clicks on the recent task card or desktop icon.
- the application projected to the external screen adopts a heterogeneous screen projection method
- it is necessary to call the heterogeneous switching module mentioned above to switch the heterogeneous screen projection method to the homogeneous screen projection method otherwise the application cannot be displayed on the main screen.
- the multi-screen framework module is also used to remove the security layer when the source device is in the locked screen state.
- the multi-screen framework module can also be used to make relevant modifications to the power button of the mobile phone in the screen projection scenario.
- the SystemUI module is a set of UI components that provide users with system-level information display and interaction, mainly used to implement status bar information display (such as battery, wifi signal, 3G/4G and other icon display), notification panel (such as system messages, third-party message notifications), recent task bar display panel (such as displaying recently used applications), etc.
- the SystemUI module is responsible for the notification service, which is used to transfer the source device message notification flow to the target device.
- the application framework layer may also include a content provider, a view system, a phone manager, a resource manager, a notification manager, etc. (not shown in FIG. 9 ). The specific meanings thereof may be referred to in relevant technical documents and will not be described here.
- the Android runtime is responsible for the scheduling and management of the system.
- the Android runtime includes a core library and a virtual machine.
- the core library consists of two parts: one is the function that the programming language (for example, the Java language) needs to call, and the other is the core library of the system.
- the application layer and the application framework layer run in the virtual machine.
- the virtual machine executes the programming files (for example, Java files) of the application layer and the application framework layer as binary files.
- the virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
- the system library can include multiple functional modules. For example: Surface Manager, Media Libraries, 3D graphics processing library (for example: OpenGL ES), 2D graphics engine (for example: SGL), etc.
- the surface manager is used to manage the display subsystem and provides the fusion of 2D (2-Dimensional, 2D) and 3D (3-Dimensional, 3D) layers for multiple applications.
- the media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc.
- the media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
- the 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing, etc.
- the 2D graphics engine is a drawing engine for 2D drawing.
- the driver layer is the foundation of the Android operating system, and the final functions of the Android operating system are completed through the driver layer.
- the driver layer includes the underlying driver, which is responsible for discovery, authentication, connection, etc.
- the driver layer receives commands issued by the communication module in the application framework layer and performs actions such as connection and disconnection.
- the driver layer includes WI-FI P2P chips, Bluetooth chips, etc., which can establish transmission channels such as WI-FI P2P and Bluetooth.
- the driver layer can also include hardware drivers such as display drivers, camera drivers, audio drivers, sensor drivers, virtual card drivers, etc.
- the software framework of the target device may include a PC manager, an operating system, and a driver layer.
- Some functional modules of the target device and their functions can refer to the above-mentioned source device and will not be described here.
- the PC manager of the target device includes a message center module, a second virtualization service module, a second screen projection service module, and a second device discovery connection authentication module.
- the message center module is used to interact with the messages and signaling of the source device, receive message notifications from the source device, and initiate a session command (openSession) to the source device. At the same time, the message center module is also used to issue a command to start the screen projection service after establishing a session.
- openSession a session command
- the functions of the second virtualization service module, the second screen projection service module, and the second device discovery authentication connection module can respectively refer to the first virtualization service module, the first screen projection service module, and the first device discovery connection authentication module in the above-mentioned source device.
- the second screen projection service module is used to receive and parse video streams and related information sent by other devices, so as to display applications running on other devices on the local device.
- the operating system of the target device can be Windows OS (such as a personal computer) or Android OS (such as a tablet).
- driver layer of the target device please refer to the above source device.
- the mobile phone end includes a first communication module, a screen projection assistant module, a first virtualization service module, a first screen projection service module, a first security authentication module, FWK (including SystemUI module), and an application;
- the PC end includes a message center module, a second screen projection module, a second communication module, and a second security authentication module.
- the other functional modules shown in Figure 9 also participate in the specific implementation process of a screen projection method provided in an embodiment of the present application, which is not shown in this timing diagram.
- the screen projection method may include the following steps:
- the message center module of the PC receives an operation of selecting a mobile phone by a user.
- S101 is only an example of establishing a first communication connection between a PC and a mobile phone.
- the PC detects a device in the same local area network as the PC, displays all connectable devices for the user to select, and the user selects the mobile phone on the PC to start the subsequent connection behavior.
- the mobile phone detects a device in the same local area network as the PC, displays all connectable devices for the user to select, and the user selects the PC on the mobile phone to start the subsequent connection behavior.
- the mobile phone and the PC can also establish a near-field connection through the "touch and pay" function, the NFC function, etc., which is not limited here.
- the message center module sends a message to the second communication module instructing to establish a communication connection with the mobile phone, and the message carries a device identification code of the mobile phone.
- the user selects the mobile phone as the collaborative notification device from the nearby available collaborative notification devices found by the PC.
- the message center module of the PC can send an inter-process communication (IPC) message to the second communication module.
- IPC inter-process communication
- the IPC message can The device name, device identification code, MAC address, etc. of the mobile phone are carried, and are used to instruct the second communication module to establish a communication connection with the mobile phone.
- the second communication module establishes a first communication connection with the first communication module of the mobile phone.
- the first communication connection may be a Bluetooth connection (BR connection), which is used to implement collaborative notifications between the PC and the mobile phone, that is, messages on the mobile phone may be transferred to the PC via a Bluetooth channel.
- BR connection Bluetooth connection
- the second communication module returns a message to the message center module indicating that the first communication connection is successfully established.
- S105 The application of the mobile phone receives an application message.
- the mobile phone After the PC and the mobile phone establish a first communication connection, the mobile phone receives an application message pushed by the application installed on the mobile phone.
- the application message can have different forms in the application on the mobile phone, the SystemUI module, and the message center module on the PC, collectively referred to as application messages here.
- the application sends an application message to the SystemUI module.
- the application message carries the message content and the application package name.
- S107 The SystemUI module instructs the first communication module to forward the application message to the PC.
- the SystemUI module will transfer all messages received by the mobile phone to the PC based on the first communication connection; it may also be transferred selectively, for example, messages with a special tag will be transferred to the PC, or messages from specific applications will be transferred to the PC, or messages judged to be of higher importance will be transferred to the PC, etc., which are not limited here.
- the first communication module sends an application message to the second communication module based on the first communication connection, where the application message carries message content and an application package name.
- the second communication module sends an application message to the message center module, where the application message carries message content and an application package name.
- the message center module receives the application message and controls the display screen to display the corresponding message notification control.
- the application message received on the mobile phone will flow to the PC. It is understandable that at this time, whether the mobile phone is in an unlocked screen state or a locked screen or a screen off state does not affect the flow of message notifications between the PC and the mobile phone.
- the PC After the PC receives the application message, it displays the message notification control associated with the application message.
- the target device receives a user operation on the message notification control, the target device establishes a third communication connection with the source device, the target device sends a request to start heterogeneous screen projection to the source device, and the source device responds to the request and displays the application screen projection window on the target device, that is, as shown in Figures 11 and 12, the above method may also include:
- the message center module receives a first operation of a user clicking a message notification control.
- the message notification control can be called a first control
- the first control displays an application message of a first application, such as a first message.
- the message center module sends a message to the second communication module instructing the creation of a second session.
- the message carries the service channel name (WI-FI P2P channel) and the device identification code of the mobile phone.
- the service channel name can be a WI-FI P2P channel
- the device identification code is the identification code of the mobile phone
- the above-mentioned instruction to create a second session is used to instruct the second communication module to establish a WI-FI P2P channel between the PC and the mobile phone corresponding to the device identification code.
- the second communication module establishes a third communication connection with the first communication module.
- the third communication connection can be a WI-FI P2P connection, providing a data transmission channel for the screen projection service.
- the types of the first communication connection, the second communication connection, and the third communication connection established between the PC and the mobile phone are not limited to Bluetooth connection and Wi-Fi P2P connection, but may also be other types of connection methods as long as the requirements for data transmission between the two can be met.
- the first communication module sends a message instructing the screen projection assistant module to start.
- the first communication module is also responsible for interacting with the screen projection assistant.
- the screen projection assistant module is in a closed state when the mobile phone has no screen projection demand.
- the first communication module triggers the screen projection assistant module to start when there is a screen projection demand.
- the second communication module returns a message to the message center module indicating that the third communication connection is successfully established.
- the message center module Based on the third communication connection, the message center module negotiates parameters with the screen projection assistant to determine the session key and the IP address of the other party.
- SessionKey also known as data encryption key or working key
- SessionKey is a randomly generated encryption and decryption key to ensure a secure communication session between a user and other computers or between two computers. It can be obtained through negotiation between communication users. It is generally generated dynamically and only when session data encryption is required.
- the message center module sends a message indicating startup to the second screen projection service module, and the message carries the session key and the IP address of the mobile phone.
- S209 The second screen projection service module is started and initialized according to the session key and the IP address of the mobile phone.
- the second screen projection service module returns a message indicating that initialization is completed to the message center module.
- the screen projection service module provides screen projection capabilities and basic reverse event control capabilities. After the screen projection service on the PC is successfully initialized, it provides capability support for receiving and parsing relevant information sent by the mobile phone, so as to display the application running on the mobile phone on the PC. At the same time, the basic reverse event control capability provides support for heterogeneous screen projection. Therefore, before performing heterogeneous screen projection services, the screen projection service module needs to be initialized to ensure the normal provision of screen projection capabilities and basic reverse event control capabilities.
- the message center module sends a message to the second screen projection service module to instruct the start of the screen projection service.
- the second screen projection service module Based on the third communication connection, the second screen projection service module sends a message to the screen projection assistant module to start the screen projection service.
- step S207 includes the second screen projection service module sending a message to the second communication module, the second communication module then transmits the message to the first communication module through the third communication connection, and the first communication module then sends the message to the screen projection assistant module.
- the following "based on the third communication connection" includes the data transmission process between the first communication module and the second communication module, which will not be repeated below.
- the above-mentioned message for starting the screen projection service can also be referred to as the first request.
- the first request can carry the first identifier.
- the screen projection management module in the screen projection assistant module is bound to the relevant screen projection services to manage screen projection affairs.
- the screen projection assistant module sends a message indicating initialization to the first virtualization service module.
- the virtualization service initialization module in the screen projection assistant module is used to instruct the virtualization service module to initialize.
- S215 The first virtualization service module completes initialization.
- the first virtualization service module is responsible for the audio and video virtualization in the screen projection service.
- the interaction between the first virtualization service module on the mobile phone and the second virtualization service module on the PC can enable the mobile phone application projected to the PC to use the PC's Speaker, Mic, and Camera during the screen projection process, and transmit the generated audio and video data streams between the mobile phone and the PC, thereby realizing functions such as making and receiving audio and video calls during screen projection.
- the first virtualization service module sends a message to the first screen projection service module to instruct the start of the screen projection service.
- the first screen projection service module creates a virtual display and adds a virtual display tag to it.
- the screen projection service module is an important functional module for implementing heterogeneous screen projection.
- the specific implementation method is that the first screen projection service module on the mobile phone adds Flag1: VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY (virtual display tag, also known as the second tag) when creating a virtual display area, which is used to realize that the screen projection window on the PC only displays its own content, and does not mirror the content displayed on the mobile phone display, so as to ensure that the display content of the mobile phone will not affect the display content of the screen projection window of the PC.
- VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY virtual display tag, also known as the second tag
- the mobile phone displays other application interfaces or desktops, which will not affect the display of the PC's projection window.
- the PC's projection window can maintain its own content without synchronizing with the display content of the mobile phone.
- the basic reverse event control capabilities provided by the projection service module can achieve reverse control of the mobile phone on the computer side.
- the implementation of heterogeneous projection also requires the interaction of the second projection service module on the PC side and the first projection service module on the mobile phone side.
- the first screen projection service module sends a message to the screen projection assistant module indicating that the screen projection service has been started.
- the first screen projection assistant Based on the third communication connection, the first screen projection assistant sends a message to the message center module indicating that the screen projection service has been started.
- the message center module Based on the third communication connection, the message center module sends a message to FWK to start the application for screen projection, carrying the application package name.
- the application package name carried is the package name of the application (e.g., social application) corresponding to the message notification control (e.g., message card 104) selected by the user in S201.
- the message card 104 is used to display application messages from the social application in the mobile phone, and the message card 104 can be seen to correspond to the social application of the mobile phone.
- the corresponding relationship between other message notification controls and applications is similar.
- the process of FWK starting the application projection window can refer to the relevant technology, and the application corresponding to the application package name will be started, and the application interface of the application will be drawn in the virtual display area (first display area) to generate display data, which will not be described in detail.
- FWK can mark the projection label (first label) for all activities corresponding to the above application package name (that is, the application package name carried in the message of starting the application for projection), and all activities corresponding to the above application package name can be all activities corresponding to the application indicated by the application package name.
- the first screen projection service module Based on the third communication connection, the first screen projection service module sends the display data of the application projection to the second screen projection service module.
- the second screen projection service module controls the display screen to render the above display data to the screen projection window.
- the screen projection window may also be referred to as the first window, and the display data rendered to the first window may be image information.
- the display data rendered in the first window may be the first image information corresponding to the first application.
- the screen projection of the first application is taken as an example for description.
- the second screen projection service module sends a message to the message center indicating that the rendering of the application screen projection interface of the screen projection window is complete.
- the message center module controls the display screen to display the application projection window.
- the PC displays the application screen projection window corresponding to the application message, that is, the mobile phone successfully projects the screen to the PC when the screen is on and unlocked.
- the PC when the PC receives the user's click on the message card 104, the PC will display the projection window 201 corresponding to the social application, which is used to display the application interface 202 corresponding to the application message.
- the application projection window can be a projection window 201 for displaying the application interface 202.
- the mobile phone may enter the screen-off or screen-locked state.
- the user instructs the mobile phone to enter the screen-off or screen-locked state by using the lock screen key of the mobile phone.
- the mobile phone automatically enters the screen-off or screen-locked state when it does not receive any user operation for a long time.
- Figure 13 shows the process of interaction between the various functional modules inside the mobile phone when the mobile phone goes from the screen-on, unlocked state to the screen-off or locked state during screen projection.
- the mobile phone may also include PowerManagerService, KeyguardServiceDelegate (lock screen management service), MultiDisplayPowerManager (multi-screen framework module), ActivityTaskManagerService (activity stack management service), KeyguardController (lock screen controller), ActivityRecord (activity recorder), Task (task stack), RootWindowsContainer (root window container), WindowsCastManager (window appearance manager), and SurfaceFlinger (layer synthesizer).
- PowerManagerService KeyguardServiceDelegate
- MultiDisplayPowerManager multi-screen framework module
- ActivityTaskManagerService activity stack management service
- KeyguardController lock screen controller
- ActivityRecord activity recorder
- Task task stack
- RootWindowsContainer root window container
- WindowsCastManager window appearance manager
- SurfaceFlinger layer synthesizer
- the above method may include:
- PowerManagerService receives an operation instructing to lock the screen.
- PowerManagerService is responsible for the power management of the mobile phone system. Common functions include: turning on the screen, turning off the screen, entering the screen saver, etc. PowerManagerService inherits from SystemService, is started by SystemServer, registered in the system service, and interacts with other components through Binder.
- PowerManagerService After PowerManagerService receives a press operation from the user via the lock screen key (ie, the Power key) of the mobile phone, it can determine that an operation instructing to lock the screen has been received.
- PowerManagerService sends a screen lock instruction to KeyguardServiceDelegate.
- the KeyguardServiceDelegate is a class for proxying the KeyguardService.
- the PowerManagerService sends a lock screen instruction to the KeyguardServiceDelegate to instruct the start of the lock screen loading process.
- KeyguardServiceDelegate sends power management information to MultiDisplayPowerManager.
- KeyguardServiceDelegate when KeyguardServiceDelegate determines that a screen projection service is in progress between the mobile phone and the PC, it instructs MultiDisplayPowerManager to take over PowerManagerService to manage the power of the mobile phone system through power management information.
- the mobile phone in addition to receiving the user's instruction to lock the screen, when the mobile phone automatically turns off the screen or receives the user's instruction to turn off the screen, it can also trigger the instruction MultiDisplayPowerManager to take over PowerManagerService to manage the power of the mobile phone system. That is, in some possible scenarios, the above method may not include S301 to S302, but include the following S304 to S306.
- PowerManagerService determines that the display screen is automatically turned off.
- the process of determining whether the display screen automatically turns off can refer to related technologies and will not be described in detail here.
- PowerManagerService detects the projection tag of the virtual display screen and interrupts the screen off processing for the virtual display screen.
- PowerManagerService detects the projection label of the virtual display screen, indicating that the current mobile phone is projecting the screen to other devices and the projection is in progress. In this scenario, in order to avoid the automatic screen off affecting the projection effect, PowerManagerService can interrupt the screen off processing for the virtual display screen.
- PowerManagerService sends power management information to MultiDisplayPowerManager.
- MultiDisplayPowerManager can be instructed to take over PowerManagerService to manage the power of the mobile phone system.
- MultiDisplayPowerManager controls the display screen to enter a fake screen-off state.
- the above-mentioned fake screen-off state, screen-off state, and screen-on state are state types of the display screen.
- the screen-on state not only has different LCD online and offline states of the display screen (e.g., the LCD is in a powered-on state in the screen-on state, and the LCD is in an offline state in the screen-off state), but also has different configuration parameters corresponding to the internal related functional services (e.g., AOD service, POWER service).
- the fake screen-off state only has different LCD online and offline states of the display screen (e.g., the LCD is in a powered-on state in the screen-on state, and the LCD is in an offline state in the fake screen-off state), but the configuration parameters corresponding to the internal related functional services (e.g., AOD service, POWER service) are the same.
- the LCD online and offline states of the fake screen-off state are the same, but the configuration parameters corresponding to the internal related functional services (e.g., AOD service, POWER service) are also different.
- the screen-off state and the screen-on state are managed by PowerManagerService.
- the MultiDisplayPowerManager can control the display screen to enter a fake screen-off state.
- MultiDisplayPowerManager can respond to the above power management information and switch the display screen of the mobile phone from the on-screen state to the fake off-screen state. During the switching process, MultiDisplayPowerManager only needs to control the LCD power off through the TP service without changing the status and configuration of related services.
- the above method may further include:
- PowerManagerService instructs ActivityTaskManagerService to configure the application screen projection window Visible at the front desk.
- ActivityTaskManagerService sends a message to KeyguardController instructing to set the Activity with the projection tag to the OnResume state.
- ActivityTaskSupervisor listens to whether the Activity is in the OnResume state by calling KeyguardController. If so, it means that the application projection window corresponding to the Activity is visible to the user and can interact with the user after it is launched on the PC (OnResume state); if the Activity is in the stopped state (OnPause state), it means that the application projection window corresponding to the Activity is in the background after it is launched on the PC, and the user cannot operate it.
- the OnResume state and the OnPause state are two states in the life cycle of the Activity.
- the Activity When the Activity is in the OnResume state, the Activity is in an activated state that is visible and can interact with the user, and the user can get the focus of the activity; when the Activity is in the OnPause state, the Activity is covered by another transparent or Dialog-style Activity. At this time, it still maintains a connection with the window manager, and the system continues to maintain its internal state. It is still visible, but it has lost focus, so it cannot interact with the user.
- the AMS component When the phone is in the locked or off screen state, the AMS component will switch the Activity lifecycle to the onPause state during the process of starting the Activity, causing the Activity to be unable to interact with the user, resulting in screen projection exceptions.
- KeyguardController identifies the Activity with the projection tag and sets it to the OnResume state.
- KeyguardController is a lock screen controller. It identifies the Activity with the projection tag and returns "true” to indicate that the Activity is set to the OnResume state, ensuring that when the source device is in the lock screen state, the application projection window corresponding to the Activity with the projection tag is visible on the target device.
- KeyguardController sends a message to ActivityRecord instructing to keep the Activity with the projection tag in the OnResume state.
- ActivityRecord controls the Activity with the projection tag to maintain the OnResume state.
- ActivityRecord sends a verification message to Task, instructing Task to verify the state of the Activity at the top of the task stack.
- Task determines that the Activity at the top of the task stack is in the OnResume state.
- an application may correspond to one or more Activities, and one or more Activities will be stored in one or more task stacks.
- the task stack follows the last-in-first-out rule, and the Activity at the top of the task stack is executed first. In order to ensure that the application projection window corresponding to the Activity to be executed is visible in the foreground, it is necessary to ensure that the Activity at the top of the stack is in the OnResume state.
- steps S313 and S314 are equivalent to a fault-tolerant mechanism, which checks whether the Activity at the top of the task stack is in the OnResume state, so these two steps are optional, that is, in other embodiments, S313 and S314 may not be included.
- Task instructs RootWindowsContainer to control all tasks to enter a dormant state.
- RootWindowsContainer traverses the Activities of all tasks, skips the Activities with the projection tag, and controls other Activities to enter the dormant state.
- RootWindowsContainer needs to traverse all the activities corresponding to the tasks, filter out the Activities with the screen projection tag and return "false” to indicate that the Activity does not enter sleep; other Activities return "true” to enter the sleep process.
- Activity1 and Activity2 in the same task stack are both added with heterogeneous screen projection tags, and RootWindowsContainer makes Activity1 and Activity2 skip the sleep process; while Activity3 and Activity4 that are not added with heterogeneous screen projection tags are put into sleep state.
- Task checks the status of Activity1 to ensure that it is in the OnResume state. Then, after Activity1 is projected from a different source, it is visible to the user on the PC and can be operated by the user in the foreground.
- Activity1 After executing Activity1, Activity2, which is not dormant at this time, progresses to the top of the task stack. Task checks the status of Activity2 to ensure that it is in the OnResume state. Then, Activity2 is visible to the user on the PC after being projected from another source and can be operated by the user in the foreground. The execution process of other Activities that have been marked with projection from another source is similar and will not be repeated here. Activities that have not been marked with projection from another source will be put into dormant state by RootWindowsContainer and will not be started to display on the external screen.
- the application screen projection window on the PC is not affected by the state of the mobile phone and can still maintain foreground visibility and operability.
- the above method may further include:
- MultiDisplayPowerManager sends a cancel message to WindowsCastManager, where the cancel message indicates to cancel drawing of the lock screen layer in the virtual display area.
- WindowsCastManager determines not to draw the lock screen layer in the virtual display area.
- MultiDisplayPowerManager instructs SurfaceFlinger not to switch to the same-source projection.
- the role of SurfaceFlinger is to receive graphics display data from multiple sources, synthesize them, and then send them to the display device. For example, when opening an application, there are three common layers of display, the status bar at the top, the navigation bar at the bottom or side, and the application interface. Each layer is updated and rendered separately. These interfaces are synthesized by SurfaceFlinger into an application layer display data refreshed to the hardware display.
- SurfaceFlinger determines that the virtual display area has a virtual display tag, then when synthesizing the application layer, only the layer on the virtual display area is obtained, and the layers of other display areas will not be obtained to synthesize with it, so that the aforementioned heterogeneous screen projection method can be realized, that is, the synthesized application layer is only related to the layer of the virtual display area.
- SurfaceFlinger will not obtain the layer of the visible display area, so even if the visible display area includes the lock screen interface or other application interfaces, it will not affect the interface displayed by the PC's screen projection window. Because SurfaceFlinger only obtains the layer of the virtual display area and passes it to the PC's screen projection window for display in some way.
- the application interface of the first application can be drawn with the virtual display area, and then the corresponding display data is synthesized by SurfaceFlinger, such as the first image information.
- the application interface of the first application can still be drawn with the virtual display area, and the corresponding display data is synthesized by SurfaceFlinger, such as the second image information. Since the above-mentioned first image information and second image information both correspond to the application interface of the first application, in some scenarios, the corresponding display content of the two may be the same.
- the above application layer may include the application interface corresponding to the currently executed Activity.
- the above display data may include information such as different display objects in the application layer, display positions and sizes of the display objects in the virtual display screen.
- the virtual display area is the virtual display area of the flag Flag1 created in step S218.
- the content of the virtual display area is invisible to the user, and the mobile phone can use the virtual display area as a canvas that occupies a certain amount of storage space.
- Figure 16 is a process diagram of starting the first application projection window.
- the PendingIntentRecord will mark all Activities of application 1 with a projection label, as shown in the task stack (created by Task) in Figure 16.
- Activity1 of application 1 Activity1 corresponds to the first message
- the mobile phone draws the first application interface corresponding to Activity1 in the virtual display area.
- SurfaceFlinger determines that the virtual display area has a virtual display label, then only obtains the first application interface layer in the virtual display area, and generates the corresponding first display data and sends it to the target device.
- the target device After the target device receives the first display data, it draws and renders the application projection interface corresponding to the first message of the first application according to the first display data, and displays it in the projection window of the target device. Please refer to steps S225-S227 in Figure 12 and Figure 7 for details. At this time, the projection window of the target device displays the application projection interface corresponding to the first display data.
- the mobile phone When executing Activity2 of Application 1 (Activity2 is pushed to the top of the task stack), the mobile phone draws the second application interface corresponding to Activity2 in the virtual display area.
- SurfaceFlinger determines that the virtual display area has a virtual display tag, then only obtains the second application interface layer in the virtual display area, and generates the corresponding second display data and sends it to the target device. Then the projection window of the target device displays the application projection interface corresponding to the second display data, that is, the application projection interface corresponding to the first display data is switched to the application projection interface corresponding to the second display data, completing the switching of different application interfaces of Application 1 in the projection window.
- FIG. 17 is a process diagram for starting the second application screen projection window.
- the source device receives the second message (also known as the second data) from the second application. After the second message flows to the target device, the target device displays the message notification control corresponding to the second message. After the target device receives the operation of the source device clicking the message notification control, it sends a second request to the source device to start the screen projection.
- the first screen projection service module receives the second request, creates a second virtual display area (VirtualDispaly2) and adds a virtual display tag.
- Activity3 of Application 2 Activity3 corresponds to the second message
- the mobile phone draws the third application interface corresponding to Activity3 in the virtual display area, and SurfaceFlinger determines that the virtual display area has a virtual display tag, then only obtains the third application interface layer in the virtual display area, and generates the corresponding third display data and sends it to the target device.
- the target device After receiving the third display data, the target device draws and renders the application projection interface corresponding to the second message of the second application according to the third display data, and displays it in the projection window of the target device.
- the projection window of the target device displays the application projection interface corresponding to the second display data and switches to the application projection interface corresponding to the third display data, completing the switching of application interfaces of different applications (such as the first application and the second application) in the projection window.
- the source device may optionally enable a security authentication function to protect the privacy of the source device that has locked or turned off the screen.
- a security authentication interface may also be displayed, and a transition loading interface may also be displayed.
- the above step S201 i.e., the message center module receives the message.
- the security authentication mechanism After receiving the first operation of the user clicking the message notification control, the security authentication mechanism will be triggered first.
- the specific implementation process please refer to Figures 14, 15 and the following description.
- the above method may further include:
- the message center module receives a second operation of the user clicking a message notification control.
- step S201 in Figure 11 are both operations in which the user clicks on the message notification control.
- steps shown in Figures 14 and 15 are added before triggering the establishment of the third communication connection in Figure 11.
- the security authentication mechanism will be triggered before the screen projection is started from the PC to ensure the user's privacy security.
- the security authentication mechanism Since the embodiment of the present application directly starts the screen projection on the PC side, the security authentication mechanism will be triggered on the PC side, and the password authentication is distributed on the mobile phone side, so the second security authentication module on the PC side needs to send the authentication information (password) received on the PC side to the first security authentication module on the mobile phone side for password authentication, and the mobile phone side will return the authentication result to the PC side. Therefore, in order to transmit the signaling required for security authentication between the mobile phone and the PC, a transmission channel needs to be established first.
- the message center module sends a message instructing to create a first session to the second communication module.
- the message carries a service channel name (Bluetooth channel) and a device identification code of the mobile phone.
- the service channel name may be a Bluetooth channel
- the device identification code may be an identification code of a mobile phone
- the instruction for creating the first session is used to instruct the second communication module to establish a Bluetooth channel between the PC and the mobile phone corresponding to the device identification code.
- the second communication module establishes a second communication connection (Bluetooth connection) with the first communication module.
- the second communication connection may be a Bluetooth connection (BR connection), which provides a securely authenticated signaling transmission channel.
- BR connection Bluetooth connection
- the first communication module sends a message instructing the screen projection assistant to start.
- the second communication module returns a message to the message center module indicating that the second communication connection is successfully established.
- the message center module sends a message instructing the second screen projection service module to start.
- the second screen projection service module returns a message of successful startup to the message center module.
- the screen projection assistant on the mobile phone and the second screen projection service module on the PC have been started, providing the necessary functions for realizing the subsequent screen projection service.
- the method further includes:
- the message center module sends a security authentication request to the second security authentication module of the PC.
- the second security authentication module controls the display screen of the PC to display a security authentication window.
- a security authentication interface is displayed in the projection window 201, and the user can enter a password in the security authentication window.
- the security authentication method is not limited to entering a password for security authentication, such as fingerprint unlocking scenario
- fingerprints are collected for verification; in the case of voice unlocking, voice is collected for verification.
- password unlocking is only used as an example.
- the second security authentication module receives the password input by the user through the security authentication window.
- the second security authentication module sends a password to the second communication module.
- the second communication module sends a password to the first communication module based on the second communication connection.
- the first communication module sends a password to the first security authentication module of the mobile phone.
- the security authentication method can also be fingerprint authentication by the user inputting a fingerprint, voice authentication by the user inputting a voice, etc., and this is not limited.
- the first security authentication module receives the password collected by the PC and compares it with the unlock password set by the user on the mobile phone. If the password collected by the PC matches the unlock password set on the mobile phone, the authentication is successful, otherwise the authentication fails.
- S507 The first security authentication module successfully performs password authentication.
- the PC can prompt the user that the password is wrong in the security authentication window.
- a security authentication request will be sent to the mobile phone again for password verification.
- it can be set to suspend authentication if the number of authentication failures exceeds the threshold of the number of incorrect passwords.
- the threshold of the number of incorrect passwords can be set by the user or the default value.
- the first security authentication module sends a message of successful authentication to the first communication module.
- the first communication module sends an authentication success message to the second communication module based on the second communication connection.
- the second communication module sends a message of successful authentication to the second security authentication module.
- the second security authentication module sends a message of successful authentication to the message center module.
- the message center module controls the display screen to display a transition loading window.
- the application screen projection steps of Figures 11 to 12 will be started. It takes a certain amount of time to successfully start the application screen projection, so there is a certain time span between displaying the security authentication window and displaying the application screen projection window.
- the transition loading window can be started and displayed on the target device, which can prompt the user that the security authentication has passed and the application screen projection is being started.
- the projection window 201 displays the transition loading interface and switches to the application interface.
- the target device after the target device receives the user's instruction to project the application screen on the corresponding source device, it first determines whether security authentication is required. For example, whether the source device is projecting the screen on the target device for the first time. For another example, whether the source device has set an unlock password, please refer to the description in the above embodiments for details.
- the electronic device includes hardware and/or software modules corresponding to the execution of each function.
- the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to exceed the scope of the present application.
- the electronic device can be divided into functional modules according to the above method example.
- each function can be divided into various functional modules, such as a detection unit, a processing unit, a display unit, etc.
- the above integrated module can be implemented in the form of hardware or in the form of software function modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
- the electronic device provided in this embodiment is used to execute the above-mentioned screen projection method, and thus can achieve the same effect as the above-mentioned implementation method.
- the electronic device may further include a processing module, a storage module and a communication module.
- the processing module may be used to control and manage the actions of the electronic device.
- the storage module may be used to support the electronic device to execute stored program codes and data, etc.
- the communication module may be used to support the electronic device to communicate with other devices.
- the processing module can be a processor or a controller. It can implement or execute various exemplary logic boxes, modules and circuits described in conjunction with the disclosure of this application.
- the processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, etc.
- the storage module can be a memory.
- the communication module can specifically be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, or other devices that interact with other electronic devices.
- the electronic device involved in this embodiment may be a device having the structure shown in FIG. 9 .
- An embodiment of the present application also provides a computer-readable storage medium, in which a computer program is stored.
- the computer program is executed by a processor, the processor executes the screen projection method of any of the above embodiments.
- An embodiment of the present application also provides a computer program product.
- the computer program product runs on a computer, it enables the computer to execute the above-mentioned related steps to implement the screen projection method in the above-mentioned embodiment.
- the embodiments of the present application also provide a device, which can be a chip, a component or a module, and the device may include a connected processor and a memory; wherein the memory is used to store computer-executable instructions, and when the device is running, the processor can execute the computer-executable instructions stored in the memory, so that the chip executes the caller ID method in the above-mentioned method embodiments.
- the electronic device, computer-readable storage medium, computer program product or chip provided in this embodiment are all used to execute the corresponding method provided above, so the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method provided above, and will not be repeated here.
- the disclosed devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium.
- the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the various embodiments of the present application.
- the aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Telephone Function (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims (20)
- 一种投屏方法,其特征在于,应用于第一设备和第二设备,所述方法包括:在所述第一设备向所述第二设备投屏之后,所述第二设备显示第一窗口;在所述第一设备处于亮屏状态时,所述第二设备在所述第一窗口中显示来自于所述第一设备的第一图像信息,所述第一图像信息对应所述第一设备中第一应用的应用界面;在所述第一设备切换至锁屏或息屏状态之后,所述第二设备在所述第一窗口中显示来自所述第一设备的第二图像信息,所述第二图像信息也对应所述第一设备中第一应用的应用界面。
- 根据权利要求1所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏状态之后,所述方法还包括:所述第一设备配置所述第一应用在生命周期中不休眠,以及配置所述第一应用的应用界面在生命周期中允许绘制于第一显示区域,所述第一显示区域是所述第一设备中不可见的显示区域;所述第一设备向所述第二设备发送所述第一应用的第二图像信息,指示所述第二设备在所述第一窗口中显示所述第二图像信息,所述第二图像信息是绘制于第一显示区域的数据。
- 根据权利要求1或2所述的方法,其特征在于,在所述第一设备向所述第二设备投屏之前,所述方法还包括:所述第一设备接收第一应用的第一消息;所述第一设备向所述第二设备转发所述第一消息;所述第二设备显示第一控件,所述第一控件用于显示所述第一消息;所述第二设备响应于用户对所述第一控件的操作,向所述第一设备发送第一请求,所述第一请求包括所述第一应用的第一标识;所述第一设备响应于所述第一请求,启动向所述第二设备进行投屏。
- 根据权利要求3所述的方法,其特征在于,在所述启动向所述第二设备进行投屏之后,所述方法还包括:所述第一设备创建第一显示区域,并启动所述第一应用;在所述第一应用的应用界面绘制于所述第一显示区域之后,所述第一设备根据所述第一显示区域中的图像数据,生成所述第一图像信息;所述第一设备向所述第二设备发送所述第一图像信息。
- 根据权利要求4所述的方法,其特征在于,在启动所述第一应用之前,所述方法还包括:所述第一设备给所述第一应用标记第一标签;在所述第一设备配置所述第一应用在生命周期中不休眠,以及配置所述第一应用的应用界面在生命周期中允许绘制于第一显示区域之前,所述方法还包括:所述第一设备确定所述第一应用具有所述第一标签。
- 根据权利要求2所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏 状态之前,所述方法还包括:所述第一设备响应于用户指示锁屏或息屏的操作,仅控制所述第一设备的显示屏下电或仅在所述显示屏上显示锁屏图层,所述显示屏对应的服务运行状态保持不变。
- 根据权利要求2所述的方法,其特征在于,所述第一显示区域被标记有第二标签,在所述第一设备切换至锁屏或息屏状态之前,所述方法还包括:在所述第一设备检测到满足自动息屏的条件时,确定所述第一显示区域具有所述第二标签;所述第一设备仅控制所述第一设备的显示屏下电或仅在所述显示屏上显示锁屏图层,所述显示屏对应的服务运行状态保持不变。
- 根据权利要求2所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏状态之前,所述方法还包括:所述第一设备确定不在所述第一显示区域中绘制锁屏图层。
- 根据权利要求2所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏状态之前,所述方法还包括:所述第一设备确定所述第一显示区域不镜像第二显示区域中的内容,所述第二显示区域是所述第一设备中可见的显示区域。
- 一种投屏方法,其特征在于,应用于第一设备,所述方法包括:所述第一设备向第二设备进行投屏;在所述第一设备处于亮屏状态时,所述第一设备向所述第二设备发送第一应用对应的第一图像信息,指示所述第二设备在第一窗口上显示所述第一图像信息;在所述第一设备切换至锁屏或息屏状态之后,所述第一设备向所述第二设备发送所述第一应用对应的第二图像信息,指示所述第二设备在所述第一窗口上显示所述第二图像信息,所述第一图像信息和第二图像信息均为所述第一应用的应用界面。
- 根据权利要求10所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏状态之后,所述方法还包括:所述第一设备配置所述第一应用在生命周期中不休眠,以及配置所述第一应用的应用界面在生命周期中允许绘制于第一显示区域,所述第一显示区域是所述第一设备中不可见的显示区域;所述第一设备根据所述第一显示区域中绘制的内容,生成所述第二图像信息。
- 根据权利要求10或11所述的方法,其特征在于,在所述第一设备向所述第二设备进行投屏之前,所述方法还包括:所述第一设备接收第一应用的第一消息;所述第一设备向所述第二设备转发所述第一消息;在接收到所述第二设备发送的第一请求之后,启动向所述第二设备进行投屏,所述第一请求是针对所述第一应用进行投屏的请求信息,所述第一请求携带所述第一应用的第一标识。
- 根据权利要求12所述的方法,其特征在于,在所述第一设备向所述第二设备发送第一应用对应的第一图像信息之前,所述方法还包括:所述第一设备创建第一显示区域,并启动所述第一应用;在所述第一应用的应用界面绘制于所述第一显示区域之后,所述第一设备根据所述第一显示区域中的图像数据,生成所述第一图像信息。
- 根据权利要求13所述的方法,其特征在于,在启动所述第一应用之前,所述方法还包括:所述第一设备给所述第一应用标记第一标签;在所述第一设备配置所述第一应用在生命周期中不休眠,以及配置所述第一应用的应用界面在生命周期中允许绘制于第一显示区域之前,所述方法还包括:所述第一设备确定所述第一应用具有所述第一标签。
- 根据权利要求11所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏状态之前,所述方法还包括:所述第一设备响应于用户指示锁屏或息屏的操作,仅控制所述第一设备的显示屏下电或仅在所述显示屏上显示锁屏图层,所述显示屏对应的服务运行状态保持不变。
- 根据权利要求11所述的方法,其特征在于,所述第一显示区域被标记有第二标签,在所述第一设备切换至锁屏或息屏状态之前,所述方法还包括:在所述第一设备检测到满足自动息屏的条件时,确定所述第一显示区域具有所述第二标签;所述第一设备仅控制所述第一设备的显示屏下电或仅在所述显示屏上显示锁屏图层,所述显示屏对应的服务运行状态保持不变。
- 根据权利要求11所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏状态之前,所述方法还包括:所述第一设备确定不在所述第一显示区域中绘制锁屏图层。
- 根据权利要求11所述的方法,其特征在于,在所述第一设备切换至锁屏或息屏状态之前,所述方法还包括:所述第一设备确定所述第一显示区域不镜像第二显示区域中的内容,所述第二显示区域是所述第一设备中可见的显示区域。
- 一种电子设备,其特征在于,电子设备包括一个或多个处理器和存储器;所述存储器与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,所述一个或多个处理器,用于执行如权利要求10-18中任一项所述的方法。
- 一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求10-18中任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202380067365.3A CN119895378A (zh) | 2022-10-31 | 2023-09-08 | 一种投屏方法和电子设备 |
| EP23884463.3A EP4592819A4 (en) | 2022-10-31 | 2023-09-08 | SCREEN REFLECTION METHOD AND ELECTRONIC DEVICE |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211348614.X | 2022-10-31 | ||
| CN202211348614.XA CN117950612A (zh) | 2022-10-31 | 2022-10-31 | 一种投屏方法和电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024093530A1 true WO2024093530A1 (zh) | 2024-05-10 |
Family
ID=90798627
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/117850 Ceased WO2024093530A1 (zh) | 2022-10-31 | 2023-09-08 | 一种投屏方法和电子设备 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4592819A4 (zh) |
| CN (2) | CN117950612A (zh) |
| WO (1) | WO2024093530A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120144217A (zh) * | 2024-06-20 | 2025-06-13 | 华为技术有限公司 | 一种锁屏显示方法及电子设备 |
| EP4667269A1 (en) * | 2024-06-20 | 2025-12-24 | Xiaomi EV Technology Co., Ltd. | Method for processing interactive information, medium, product, and electronic device |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113114840A (zh) * | 2021-03-28 | 2021-07-13 | 武汉卡比特信息有限公司 | 一种基于Android手机互联的省电锁屏方法 |
| CN113542825A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 投屏显示方法、系统、终端设备和存储介质 |
| WO2022105403A1 (zh) * | 2020-11-20 | 2022-05-27 | Oppo广东移动通信有限公司 | 跨设备的内容投屏方法、装置、设备及存储介质 |
| CN115048067A (zh) * | 2021-02-26 | 2022-09-13 | 华为技术有限公司 | 一种投屏显示方法及电子设备 |
| CN115097926A (zh) * | 2022-06-16 | 2022-09-23 | Oppo广东移动通信有限公司 | 投屏方法、装置、设备、系统及存储介质 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110515576B (zh) * | 2019-07-08 | 2021-06-01 | 华为技术有限公司 | 显示控制方法及装置 |
| CN112995727A (zh) * | 2019-12-17 | 2021-06-18 | 华为技术有限公司 | 一种多屏协同方法、系统及电子设备 |
-
2022
- 2022-10-31 CN CN202211348614.XA patent/CN117950612A/zh active Pending
-
2023
- 2023-09-08 CN CN202380067365.3A patent/CN119895378A/zh active Pending
- 2023-09-08 WO PCT/CN2023/117850 patent/WO2024093530A1/zh not_active Ceased
- 2023-09-08 EP EP23884463.3A patent/EP4592819A4/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113542825A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 投屏显示方法、系统、终端设备和存储介质 |
| WO2022105403A1 (zh) * | 2020-11-20 | 2022-05-27 | Oppo广东移动通信有限公司 | 跨设备的内容投屏方法、装置、设备及存储介质 |
| CN115048067A (zh) * | 2021-02-26 | 2022-09-13 | 华为技术有限公司 | 一种投屏显示方法及电子设备 |
| CN113114840A (zh) * | 2021-03-28 | 2021-07-13 | 武汉卡比特信息有限公司 | 一种基于Android手机互联的省电锁屏方法 |
| CN115097926A (zh) * | 2022-06-16 | 2022-09-23 | Oppo广东移动通信有限公司 | 投屏方法、装置、设备、系统及存储介质 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4592819A4 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120144217A (zh) * | 2024-06-20 | 2025-06-13 | 华为技术有限公司 | 一种锁屏显示方法及电子设备 |
| EP4667269A1 (en) * | 2024-06-20 | 2025-12-24 | Xiaomi EV Technology Co., Ltd. | Method for processing interactive information, medium, product, and electronic device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119895378A (zh) | 2025-04-25 |
| EP4592819A1 (en) | 2025-07-30 |
| EP4592819A4 (en) | 2025-11-26 |
| CN117950612A (zh) | 2024-04-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10853053B1 (en) | System, method, and computer program product for coordination among multiple devices | |
| US20240111473A1 (en) | Distributed display method and terminal for application interface | |
| CN114286165B (zh) | 一种显示设备、移动终端、投屏数据传输方法及系统 | |
| US8909702B2 (en) | System and method for coordination of devices in a presentation environment | |
| EP4451106A1 (en) | Screen projection system and electronic device | |
| US20200117350A1 (en) | Screen Locking Method and Apparatus | |
| CN114237779A (zh) | 一种显示窗口的方法、切换窗口的方法、电子设备和系统 | |
| EP4592819A1 (en) | Screen mirroring method and electronic device | |
| CN112463750B (zh) | 一种文件同步方法及显示设备 | |
| US20200175196A1 (en) | Multi-android system implementation method, storage medium, and terminal | |
| WO2024066992A1 (zh) | 一种多设备组网系统、方法及终端设备 | |
| EP1589723B1 (en) | A device capable of modifying its behaviour based on surrounding devices | |
| CN112114883A (zh) | 一种终端唤醒方法、终端及计算机存储介质 | |
| CN115268809A (zh) | 多屏协同过程中恢复窗口的方法、电子设备和系统 | |
| WO2024027203A1 (zh) | 通知消息的提示方法、电子设备及可读存储介质 | |
| CN113473220B (zh) | 一种音效自动启动方法及显示设备 | |
| CN116743971B (zh) | 一种同源投屏方法及电子设备 | |
| CN114286320B (zh) | 一种显示设备、移动终端及蓝牙连接方法 | |
| CN112965677B (zh) | 一种显示设备及信息提示方法 | |
| WO2023207218A1 (zh) | 一种来电提醒系统、方法及电子设备 | |
| CN113542882B (zh) | 一种唤醒待机显示设备的方法、显示设备及终端 | |
| CN111163220B (zh) | 一种显示方法、通信终端及计算机存储介质 | |
| WO2023005705A1 (zh) | 一种支付方法、装置及终端设备 | |
| CN120335661B (zh) | 界面显示方法和电子设备 | |
| CN119155295B (zh) | 远程访问方法、电子设备、个人计算机及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23884463 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380067365.3 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023884463 Country of ref document: EP |
|
| WWP | Wipo information: published in national office |
Ref document number: 202380067365.3 Country of ref document: CN |
|
| ENP | Entry into the national phase |
Ref document number: 2023884463 Country of ref document: EP Effective date: 20250425 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023884463 Country of ref document: EP |