Multi-operating-system application display method, and electronic device, vehicle and storage medium
Patent Information
- Application Number
- PCT/CN2026/079901
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-25
- Filing Date
- 2026-02-25
- Publication Date
- 2026-10-01
Smart Images

Figure CN2026079901_01102026_PF_FP_ABST
Abstract
Description
Applications of multi-operating systems in display methods, electronic devices, vehicles, and storage media
[0001] This application claims priority to Chinese patent application No. 202510372113.2, filed on March 25, 2025, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to the field of vehicle technology, and more particularly to a multi-operating system application display method, electronic device, vehicle, and storage medium. Background Technology
[0003] Currently, with the continuous improvement of the intelligence level of automobiles, users have more and more needs for the functions of in-vehicle systems, and in-vehicle systems containing two or more operating systems are gradually becoming a development trend. Summary of the Invention
[0004] This disclosure provides a multi-operating system application display method, electronic device, vehicle, and storage medium.
[0005] In a first aspect, a method for displaying applications across multiple operating systems is provided, comprising: receiving a display instruction for a proxy application acting on a layer of a first operating system; responding to the display instruction, invoking a display window of the proxy application on a layer of a second operating system, wherein the layer of the first operating system is located above the layer of the second operating system; and displaying the display window of the proxy application on a display screen through the layer of the first operating system.
[0006] The multi-operating system application display method provided in some embodiments of this disclosure can display the proxied application's display window through the layer of the first operating system when displaying the proxied application's display window of the second operating system. This eliminates the need for the display window's data to originate from the second operating system and then reach the first operating system for display. This not only simplifies the multi-operating system application display process, but also, in the fusion method provided in some embodiments of this disclosure, the layers of the first operating system and the layers of the second operating system are sent and displayed independently. Each operating system can independently perform rendering and transmission based on the update frequency and complexity of the corresponding layer, thereby improving the stability and reliability of the entire system fusion process.
[0007] In some embodiments, the method further includes: in response to a display instruction, invoking the display window of the proxy application on a layer of the first operating system; displaying the display window of the proxy application on the display screen through the layer of the first operating system, including: displaying the display window of the proxy application on the display screen through the display window of the proxy application.
[0008] In some embodiments, displaying the proxied application's display window on the display screen through the proxy application's display window includes: setting the proxy application's display window to a transparent state, and aligning the position of the proxy application's display window on the first operating system's layer with the position of the proxied application's display window on the second operating system's layer.
[0009] In some embodiments, aligning the position of the proxy application's display window on the first operating system's layer with the position of the proxied application's display window on the second operating system's layer includes: setting the size of the proxy application's display window to be equal to the size of the proxied application's display window.
[0010] In some embodiments, aligning the position of the proxy application's display window on the first operating system layer with the position of the proxied application's display window on the second operating system layer includes: setting the type of the proxy application's display window to be the same as the type of the proxied application's display window; the type of the display window includes any one of the following: full-screen window, split-screen window, or floating window.
[0011] In some embodiments, the above-described method of displaying the display window of the proxied application through the display window of the proxy application on the display screen further includes setting other areas in the layer of the first operating system, excluding the display window of the proxy application, to a non-transparent state.
[0012] In some embodiments, the above-mentioned invoking the display window of the proxy application on the layer of the first operating system includes: obtaining the display mode of the proxy application and the window data to be displayed in the first operating system, the window data to be displayed including the window data of the proxy application; and invoking the window to be displayed on the layer of the first operating system based on the display mode of the proxy application and the window data to be displayed in the first operating system, the window to be displayed including the display window of the proxy application.
[0013] In some embodiments, the above-described method of calling the window to be displayed on the layer of the first operating system based on the display mode of the proxy application and the window data to be displayed in the first operating system includes: when the proxy application adopts a non-full-screen display mode, calling the display window of the proxy application on the layer of the first operating system based on the window data of the proxy application; calling the first window to be displayed on the layer of the first operating system based on the window data of the first window to be displayed, and loading a transparent mask for the overlapping part of the first window to be displayed and the display window of the proxy application; the first window to be displayed is used to indicate windows in the window to be displayed that have a lower display layer than the display window of the proxy application; and calling the second window to be displayed on the layer of the first operating system based on the window data of the second window to be displayed, the second window to be displayed being used to indicate windows in the window to be displayed that have a higher display layer than the display window of the proxy application.
[0014] In some embodiments, the above-mentioned method of calling the window to be displayed on the layer of the first operating system based on the display mode of the proxy application and the window data to be displayed in the first operating system includes: when the proxy application adopts a full-screen display mode, calling the display window of the proxy application on the layer of the first operating system based on the window data of the proxy application; and calling the second window to be displayed on the layer of the first operating system based on the window data of the second window to be displayed, wherein the second window to be displayed is used to indicate that the window to be displayed has a higher display layer than the display window of the proxy application.
[0015] In some embodiments, the method further includes: displaying the boot animation of the proxy application in the display window of the proxy application after the proxy application is started, until the boot animation ends when the proxy application is detected to be started.
[0016] In some embodiments, before receiving a display instruction from a proxy application on a layer of the first operating system, the method further includes: triggering a display instruction in response to a user's startup operation on the proxy application; or, detecting that the proxied application is in a startup state and triggering a display instruction.
[0017] In some embodiments, the above-mentioned invoking the display window of the proxied application on the layer of the second operating system includes: invoking the display window of the proxied application on the layer of the second operating system in response to a launch request message from the proxied application of the first operating system.
[0018] In some embodiments, the method further includes: receiving an input event acting on a display window of a proxy application on a layer of a first operating system; and, in response to the input event, displaying the processing result of the input event in a display window of the proxy application on a layer of a second operating system.
[0019] In some embodiments, the method further includes: displaying alarm information in the display window of the proxy application if the proxy application does not receive a notification message for the input event within a preset time period; the notification message is used to indicate that the proxy application has finished processing the input event.
[0020] In some embodiments, the method further includes: in response to a user's operation of installing the proxied application in a second operating system, creating a proxy application in a first operating system and installing the proxied application in the second operating system; or, in response to a user's operation of creating a proxy application in a first operating system, creating a proxy application in a first operating system and installing the proxied application in the second operating system.
[0021] In some embodiments, the method further includes: in response to a user's operation of uninstalling the proxy application in the first operating system, uninstalling the proxy application in the first operating system and uninstalling the proxied application in the second operating system; or, in response to a user's operation of uninstalling the proxied application in the second operating system, uninstalling the proxy application in the first operating system and uninstalling the proxied application in the second operating system.
[0022] In a second aspect, an electronic device is provided, comprising: a processor and a memory configured to store processor-executable instructions; the processor is configured to execute the instructions to implement any of the optional multi-operating system application display methods of the first aspect described above.
[0023] Thirdly, a computer-readable storage medium is provided, on which instructions are stored, such that when the instructions in the computer-readable storage medium are executed by a device, the device is able to execute any of the multi-operating system application display methods described in the first aspect above.
[0024] Fourthly, a vehicle is provided, comprising: the electronic device of the second aspect above, or the computer-readable storage medium of the third aspect.
[0025] Fifthly, a computer program product is provided, the computer program product including computer instructions that, when executed on a processor of a device, enable the device to execute any of the multi-operating system application display methods described in the first aspect. Attached Figure Description
[0026] To more clearly illustrate the technical solutions of some embodiments of this disclosure, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0027] Figure 1 is a schematic diagram of a split-screen display in related technologies;
[0028] Figure 2 is a schematic diagram of another split-screen display in related technologies;
[0029] Figure 3 is a block diagram of an electronic device according to some embodiments;
[0030] Figure 4 is a flowchart of a multi-operating system application display method according to some embodiments;
[0031] Figure 5 is a schematic diagram of a display window of an agent application according to some embodiments;
[0032] Figure 6 is a flowchart of another multi-operating system application display method according to some embodiments;
[0033] Figure 7 is a flowchart of another multi-operating system application display method according to some embodiments;
[0034] Figure 8 is a flowchart of another application display method for multiple operating systems according to some embodiments;
[0035] Figure 9 is a flowchart of another application display method for multiple operating systems according to some embodiments;
[0036] Figure 10 is a flowchart of a cross-system fusion process under a full-screen display mode according to some embodiments;
[0037] Figure 11 is a flowchart of a cross-system fusion process under a split-screen display method according to some embodiments;
[0038] Figure 12 is a flowchart of a proxy application based on an Android system launching a proxied application on a Linux system according to some embodiments;
[0039] Figure 13 is a flowchart of a Linux system actively launching a proxied application according to some embodiments;
[0040] Figure 14 is a flowchart of a display window merging and display process according to some embodiments;
[0041] Figure 15 is a flowchart of an input event fusion according to some embodiments;
[0042] Figure 16 is a block diagram of a multi-operating system application display device according to some embodiments;
[0043] Figure 17 is a block diagram of an electronic device according to some embodiments;
[0044] Figure 18 is a block diagram of a vehicle according to some embodiments. Detailed Implementation
[0045] The technical solutions of some embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0046] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this disclosure, unless otherwise stated, "a plurality of" means two or more.
[0047] In some embodiments of this disclosure, the terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, article, or apparatus that includes that element.
[0048] In some embodiments of this disclosure, the words "exemplarily" or "for example" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design described as "exemplarily" or "for example" in some embodiments of this disclosure should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of words such as "exemplarily" or "for example" is intended to present the relevant concepts by way of example.
[0049] In the description of this specification, exemplary features, structures, materials, or characteristics may be combined in any suitable manner in one or more embodiments or examples.
[0050] Currently, with the continuous improvement of automotive intelligence, users have increasingly more demands for the functions of in-vehicle systems, and the inclusion of two or more operating systems in in-vehicle systems is gradually becoming a development trend. When an in-vehicle system includes multiple operating systems, there is a need for cross-system integration.
[0051] Here, cross-system integration requires application integration, window integration, and input event integration. That is, launching an application of another operating system in one system, displaying multiple operating system screens on the in-vehicle system screen, and sending input events received by one system to another operating system.
[0052] In related technologies, taking two operating systems as an example, as shown in Figure 1, the two operating systems share a time-sharing exclusive role. This means that the two operating systems sequentially acquire complete control of the display screen. At any given time, only one operating system's display window can be fully displayed and interact with the user, while the other operating system remains in the background waiting. Alternatively, the display screen can be divided into two areas, with each operating system occupying a portion of the screen and independently displaying its own window, capable of responding independently to user actions within its corresponding area. However, when switching between different operating systems, time-sharing exclusive roles may result in issues such as black screens and screen flickering. Furthermore, if one operating system is not powered on, it leads to wasted display screen resources.
[0053] Alternatively, as shown in Figure 2, the display window of an application in one operating system can be transferred to a layer in another operating system and then overlaid with the display windows of other applications in that operating system. In this way, the data for the display window originates from the application in the source operating system and then reaches the target operating system for display. This requires more intermediate steps and processing, potentially leading to latency, screen stuttering, flickering, and other issues, severely degrading the user experience. Therefore, multi-operating system application display in related technologies suffers from performance and complexity issues.
[0054] Based on this, some embodiments of this disclosure propose a method for displaying applications across multiple operating systems, including: receiving a display instruction from a proxy application acting on a layer of a first operating system; responding to the display instruction, calling the display window of the proxy application on a layer of a second operating system, where the layer of the first operating system is located above the layer of the second operating system; and displaying the display window of the proxy application on a display screen through the layer of the first operating system. This method enables the display of the proxy application's window on the second operating system to be shown through the layer of the first operating system, eliminating the need for the display window's data to originate from the second operating system and then reach the first operating system for display. This simplifies the application display process across multiple operating systems. Furthermore, in the fusion method of some embodiments of this disclosure, the layers of the first and second operating systems are displayed independently, allowing each operating system to independently perform rendering and transmission based on the update frequency and complexity of its corresponding layer, thus improving the stability and reliability of the entire system fusion process.
[0055] In some embodiments, the application display method using multiple operating systems in some embodiments of this disclosure can be applied to electronic devices. As shown in FIG3, the electronic device 300 can install multiple operating systems, such as a first operating system 301 and a second operating system 302.
[0056] The first operating system 301 and the second operating system 302 mentioned above can be Linux, Android, Windows, or other existing or future operating systems. The first operating system 301 and the second operating system 302 can be the same type of operating system or different types of operating systems. In some embodiments, the first operating system 301 can be one of Linux and Android, and the second operating system 302 can be the other of Linux and Android.
[0057] In some embodiments, the first operating system 301 can be an Android system, used to implement vehicle entertainment functions and support applications such as music, movies, and navigation; the second operating system 302 can be a Linux system, used to implement vehicle control functions and support applications such as vehicle control and panoramic imaging.
[0058] In some embodiments, the first operating system may install corresponding proxy applications for applications running on the second operating system. The application proxied by the proxy application in the second operating system can be referred to as the proxied application. A proxy application is an intermediary software program between the user and the proxied application. The proxy application is primarily responsible for receiving user requests and forwarding them to the proxied application, as well as receiving the results returned by the proxied application and providing feedback to the user. The proxied application is the software program that actually provides core business functions and services. It can process user requests according to its own business logic and then return the processing results to the proxy application. In this way, the user can operate the proxy application through the first operating system, thereby achieving the purpose of operating the proxied application in the second operating system.
[0059] Here, the proxy application runs in the first operating system environment, is managed by the first operating system, and can interact directly with the user. Developing the proxy application may require an emulator or a cross-platform development framework. The proxied application runs in the second operating system environment, typically a native application of the second operating system.
[0060] In some embodiments, when a new application is installed in the second operating system, the relevant information of the newly installed application can be notified to the first operating system. The first operating system can generate, configure or install the corresponding proxy application on its own, or generate, configure or install the corresponding proxy application under the instruction of the user.
[0061] In some embodiments, when an old application is uninstalled in the second operating system, the uninstallation information of the old application can be notified to the first operating system, and the first operating system can uninstall the corresponding proxy application.
[0062] In some embodiments of this disclosure, the display screen of the electronic device 300 can overlay the layers of the first operating system 301 and the second operating system 302, and the display window of the proxy application of the first operating system 301 can reveal the display window of the proxied application of the second operating system 302. In this way, a user can simultaneously view the display content of both operating systems on a single display screen.
[0063] Here, electronic devices include, but are not limited to, mobile phones, tablets, projectors, smart TVs, computers with wireless transceiver capabilities, virtual reality terminal devices, augmented reality terminal devices, wireless terminals in industrial control, and smart cockpits in vehicles.
[0064] As shown in Figure 4, some embodiments of this disclosure provide a method for displaying applications across multiple operating systems, including S401 to S403.
[0065] S401, Receive display instructions from a proxy application operating on a layer of the first operating system.
[0066] In one implementation, a display command is triggered in response to a user's launch operation of the proxy application.
[0067] In some embodiments, the aforementioned display instructions may be touch operations on a touch interface associated with the first operating system, interactive operations on human-computer interaction components associated with the first operating system (e.g., pressing or rotating a button or knob), or voice input operations. This disclosure does not limit the triggering method of the display instructions.
[0068] In another implementation, a display command is triggered when the proxied application is detected to be in a running state.
[0069] In one implementation, if the proxied application meets the startup conditions, the proxied application is launched, and a startup request message for the proxy application is sent from the second operating system to the first operating system. The first operating system then responds to the startup request message and launches the proxy application.
[0070] In some embodiments, the second operating system can also listen for messages sent by the user, and certain messages will cause the second operating system to actively launch the proxied application. For example, when a "shift to reverse" message is reported, the second operating system will actively launch the "panoramic image" application.
[0071] S402, In response to a display command, invoke the display window of the proxied application on the layer of the second operating system.
[0072] Here, the layer of the first operating system is located above the layer of the second operating system.
[0073] In one implementation, in response to a launch request message from the proxied application in the first operating system, the display window of the proxied application is invoked on the layer of the second operating system.
[0074] In one implementation, in response to a display command, a launch request message for the proxied application is sent from the first operating system to the second operating system. The second operating system, in response to the launch request message, launches the proxied application and invokes its display window on the second operating system's layer.
[0075] S403. Display the window of the proxied application on the display screen through the layer of the first operating system.
[0076] In some embodiments, in response to a display instruction, the display window of the proxy application is invoked on a layer of the first operating system.
[0077] Therefore, displaying the proxied application's display window on the display screen through a layer of the first operating system includes: displaying the proxied application's display window on the display screen through a display window of the proxied application. The layer of the first operating system includes the proxied application's display window, and the layer of the second operating system also includes the proxied application's display window. The proxied application's display window is used to expose the proxied application's display window.
[0078] In some embodiments, displaying the display window of the proxied application on the display screen through the display window of the proxy application includes: setting the display window of the proxy application to a transparent state, and aligning the position of the display window of the proxy application on the layer of the first operating system with the position of the display window of the proxied application on the layer of the second operating system.
[0079] For example, obtain the rectangular area of the display window of the "panoramic image" application and the coordinates of its upper left corner in the second operating system, convert the upper left corner coordinates in the second operating system to the upper left corner coordinates in the first operating system, and set the upper left corner of the display window of the proxy application "panoramic image" at the upper left corner coordinates of the display window of the "panoramic image" application in the first operating system.
[0080] In other embodiments, displaying the proxied application's display window on the screen through the proxy application's display window further includes setting other areas in the first operating system's layer, excluding the proxy application's display window, to a non-transparent state. That is, other areas in the first operating system's layer, excluding the proxy application's display window, can normally display the first operating system's display content (e.g., the display window of the first operating system's applications).
[0081] As shown in Figure 5, the display window of the proxied application "Panoramic Image" is aligned with the display window of the proxy application "Panoramic Image," and the display window of the proxy application "Panoramic Image" is set to a transparent state, so the display window of the proxied application "Panoramic Image" is naturally revealed. The display window of the music player in the first operating system is in a non-transparent state, and the display screen can display the music player's display window normally.
[0082] In some embodiments, the size of the proxy application's display window is set to be equal to the size of the proxied application's display window. It should be understood that setting the same size for the proxy application's and the proxied application's display windows avoids the problem of incomplete display window data caused by the proxy application's display window being smaller than the proxied application's display window, and also avoids the problem of wasted display screen space caused by the proxy application's display window being larger than the proxied application's display window.
[0083] In some embodiments, if the size of the proxied application's display window changes, it may be necessary to update the size of the proxy application's display window in real time. A timer or event listener mechanism can be used to monitor the size of the proxied application's display window, thereby enabling dynamic adjustment of the proxy application's display window size.
[0084] In some embodiments, the proxy application must use the same window type as the proxied application to ensure that all interactive functions function normally during the proxy process, and to prevent situations where certain functions are unusable or display abnormally due to window type mismatch. Therefore, the type of the proxy application's display window can also be set to be the same as the type of the proxied application's display window. Here, the display window includes any of the following: full-screen window, split-screen window, and floating window.
[0085] When user focus is required or an immersive experience is needed, the proxy application's display window can be a full-screen window. In some embodiments, when parking, the proxy application "panoramic image" can be displayed in full screen to prevent users from being disturbed by other interface elements.
[0086] When multiple tasks are running on an operating system, you can choose to display proxy applications in split-screen mode. Split-screen windows divide the screen into multiple areas, each displaying different content, allowing users to view multiple applications simultaneously or different parts of the same application. For example, in a music player, the screen can be divided into two parts: one displaying lyrics and the other displaying the music player's search page.
[0087] Floating windows are typically used to display auxiliary information or quick operations. For example, lyrics in a music player can be displayed via a floating window.
[0088] In some embodiments, considering that the layers of the first operating system and the second operating system may be displayed on different displays, in some embodiments of this disclosure, before displaying the display window of the proxied application through the layer of the first operating system on the display screen, the method may further include: determining that the display screen displaying the layer of the first operating system and the display screen displaying the layer of the second operating system are the same display screen.
[0089] In one implementation, the display screen identifier for displaying the first operating system and the display screen identifier for displaying the second operating system can be obtained. If the display screen identifier for the first operating system and the display screen identifier for the second operating system are the same, then it is determined that the display screen for displaying the first operating system and the display screen for displaying the second operating system are the same display screen. Thus, after determining that the display screen for displaying the first operating system and the display screen for displaying the second operating system are the same display screen, the layers for displaying the first operating system and the second operating system are overlaid, improving the reliability of the screen display.
[0090] Therefore, the methods in some embodiments of this disclosure can display the proxied application's display window through the layer of the first operating system when displaying the proxied application's display window on the second operating system. This eliminates the need for the display window's data to originate from the second operating system and then reach the first operating system for display. This not only simplifies the application display process across multiple operating systems, but also allows each operating system to independently render and transmit based on the update frequency and complexity of its corresponding layer, thereby improving the stability and reliability of the entire system fusion process.
[0091] In some embodiments, after the proxy application is launched, the proxy application's boot animation is displayed in the proxy application's display window until the proxied application is detected to be launched, at which point the boot animation ends.
[0092] In one implementation, when the proxy application is launched, its display window can first play the application's boot animation. After the proxied application launches, the proxy application's display window ends its animation and becomes transparent to expose the proxied application's display window.
[0093] Thus, the process of transitioning smoothly between the proxy application playing its boot animation and the proxied application appearing transparently in its window achieves a seamless transition between two different visual states. This avoids screen flickering and abrupt changes that may occur in traditional startup methods, presenting users with a consistent and natural visual experience.
[0094] In some embodiments, as shown in FIG6, the display window of the agent application is invoked on the layer of the first operating system, including S601 to S602.
[0095] S601, Obtain the display mode of the proxy application and the data of the window to be displayed in the first operating system.
[0096] Here, the window data to be displayed includes the window data of the proxy application.
[0097] In one implementation, information such as the type, position, and size of the proxy application's window can be obtained to determine how the proxy application is displayed. Then, the content of the proxy application window can be read to determine the proxy application's window data. In some embodiments, the content of the proxy application window can be read by calling the "Content View" function.
[0098] S602, based on the display method of the proxy application and the data of the window to be displayed in the first operating system, call the window to be displayed on the layer of the first operating system.
[0099] Here, the window to be displayed includes the display window of the agent application.
[0100] In one implementation, a window to be displayed can be created first, and the style, position, size, and other parameters of the proxy application can be set according to the display method and window data of the proxy application. After the display window of the proxy application is created, a display function is used to display the display window of the proxy application.
[0101] In some embodiments, on Linux systems, functions such as XCreateWindow are used to create windows, and XMapWindow is used to map the windows onto the screen for display. Window properties, such as style, position, and size, are set to match the display style of the proxy application.
[0102] In some embodiments, as shown in FIG7, S602 includes S701 to S703.
[0103] S701. When the proxy application uses a non-full-screen display mode, the display window of the proxy application is called on the layer of the first operating system based on the window data of the proxy application.
[0104] S702. Based on the window data of the first window to be displayed, the first window to be displayed is invoked on the layer of the first operating system, and a transparent mask is loaded for the overlapping part of the first window to be displayed and the display window of the proxy application.
[0105] The first window to be displayed is used to indicate which window in the window to be displayed has a lower hierarchy than the window displayed by the proxy application.
[0106] Here, the transparent mask layer is used to make the content in the drawing result, located at the position of the agent application's display window, transparent.
[0107] In one implementation, all first windows to be displayed in the first operating system that are below the proxy application in the display hierarchy are determined. The graphics processor in the first operating system is used to draw the window data of the first windows to be displayed into a graphic, and the processing result of the graphics processor is masked with a transparent mask so that the area where the proxy application is located in the drawing result is transparent.
[0108] The display hierarchy can be represented by the z-order of the application's arrangement in the direction perpendicular to the screen. The larger the z-order, the higher the display hierarchy.
[0109] In one implementation, a buffer can be created first to store the drawing results. Then, the data of the first window to be displayed that needs to be drawn is loaded into the graphics processor. The graphics processor draws the data into the pre-created buffer by calling the drawing function. Then, the processing results are read from the pre-created buffer and stored in the memory of the first operating system or displayed directly on the screen.
[0110] In one implementation, after obtaining the processing result, a texture representing the transparent mask is created, and the processing result and the transparent mask are composited using a shader. The transparency value of the transparent mask is then adjusted to obtain the drawing result.
[0111] In some embodiments, the transparent mask can be a simple grayscale image, where black represents complete opacity, white represents complete transparency, and different grayscale values represent different levels of transparency.
[0112] S703: Based on the window data of the second window to be displayed, call the second window to be displayed on the layer of the first operating system.
[0113] The second window to be displayed is used to indicate the window whose display hierarchy is higher than that of the proxy application.
[0114] In one implementation, the drawing results, the window data of the proxy application, and the window data of the second window to be displayed are loaded into the graphics processor. The graphics processor draws the window data into a pre-created buffer by calling the drawing function, and reads the processing results from the buffer and displays them directly on the monitor.
[0115] It should be noted that an operating system may contain multiple windows to be displayed. By overlaying the windows to be displayed and adjusting their size, the windows to be displayed are stitched together and mapped onto the same layer of the operating system for display.
[0116] In some embodiments, referring to FIG8, S602 includes S801 to S802.
[0117] S801. When the proxy application is displayed in full-screen mode, the display window of the proxy application is called on the layer of the first operating system based on the window data of the proxy application.
[0118] In one implementation, the display window of the agent application in the first operating system is determined, and the window data of the agent application is drawn into a graphic using the graphics processor in the first operating system and displayed on the display screen.
[0119] S802: Based on the window data of the second window to be displayed, call the second window to be displayed on the layer of the first operating system.
[0120] Here, the second window to be displayed is used to indicate the window in the window to be displayed that has a higher display hierarchy than the window of the proxy application.
[0121] In one implementation, all windows to be displayed in the first operating system that are displayed above the proxy application are identified, and the window data of the second window to be displayed is drawn into a graphic using the graphics processor in the first operating system and displayed on the screen.
[0122] For example, skip applications with z-order below the proxy application and composite and display applications with z-order above the proxy application. In this way, if there are no applications above the proxy application, the layer of the first operating system is transparent, and the proxied application of the second operating system is displayed in full screen.
[0123] In some embodiments, the second operating system draws the window data of the proxy application onto a designated window and then displays it on the corresponding layer of the second operating system.
[0124] Therefore, when the display window of the proxied application is exposed through the display window of the proxy application, the first operating system can match the corresponding processing procedure to call the display window of the proxy application based on the full-screen or non-full-screen display mode of the display window, thereby improving the flexibility of the first operating system.
[0125] In some embodiments of this disclosure, a method for displaying applications across multiple operating systems is also provided. The method includes: in response to a user's operation of installing a proxied application in a second operating system, creating a proxy application in a first operating system, and installing the proxied application in the second operating system.
[0126] In one implementation, the proxied application is installed via a second operating system, and the second operating system sends operation information for installing the proxied application to the first operating system. In response to the operation information, the first operating system creates the proxy application within the first operating system.
[0127] In some embodiments, in response to a user's operation of creating a proxy application in the first operating system, a proxy application may be created in the first operating system and the proxied application may be installed in the second operating system.
[0128] In one implementation, a proxy application is created through a first operating system, and operation information for creating the proxy application is sent to a second operating system through the first operating system. In response to the operation information, the second operating system installs the proxied application.
[0129] In some embodiments of this disclosure, a method for displaying applications across multiple operating systems is also provided. The method includes: in response to a user's operation of uninstalling a proxy application in a first operating system, uninstalling the proxy application in the first operating system and uninstalling the proxied application in a second operating system.
[0130] In one implementation, the proxied application is uninstalled via a second operating system, and the second operating system sends an operation message to the first operating system to uninstall the proxied application. In response to this operation message, the first operating system uninstalls the proxied application.
[0131] In some embodiments, in response to a user's operation of uninstalling the proxied application in the second operating system, the proxy application can be uninstalled in the first operating system and the proxied application can be uninstalled in the second operating system.
[0132] In one implementation, the proxy application is uninstalled through a first operating system, and operation information for uninstalling the proxy application is sent from the first operating system to a second operating system. The second operating system responds to the operation information and uninstalls the proxied application within the second operating system.
[0133] Therefore, when an application is installed or used in one operating system, the other operating system will also install or use the corresponding application, keeping the applications on both operating systems synchronized. This allows users to clearly know when an application is installed or uninstalled, reducing the possibility of accidental operation.
[0134] It should be noted that in order to keep applications synchronized between the two operating systems, in addition to coordinating the installation and uninstallation process, an effective synchronization mechanism is also needed for application startup and shutdown, so as to ensure that users can get a consistent and coherent experience no matter which operating system environment they use the application in.
[0135] Therefore, in addition to installation and uninstallation operations, the application display method across multiple operating systems also includes: managing the proxy application in the first operating system and managing the proxied application in the second operating system in response to user management operations on the proxy application in the first operating system; or, managing the proxy application in the first operating system and managing the proxied application in the second operating system in response to user management operations on the proxied application in the second operating system.
[0136] In one implementation, a first operating system manages the proxy application and sends management operation information to a second operating system. The second operating system responds to the operation information and manages the proxied application within the second operating system.
[0137] Alternatively, the proxied application can be managed through a second operating system, which can then send management operation information to the first operating system. The first operating system responds to the operation information and manages the proxied application within the first operating system.
[0138] Operation information includes: the identifier of the proxied application and the identifier of the management operation. For example, if the control operation is an application launch operation, the operation type identifier can be a launch operation identifier.
[0139] Management operations include lifecycle management operations and / or application management operations. Lifecycle management operations include at least one of the following: application startup, application stop, application pause, and application resume. Application management operations include at least one of the following: application installation, application uninstallation, application shutdown, and data clearing.
[0140] In lifecycle management operations, the application startup operation indicates that the user starts the proxied application on the second operating system from the first operating system. The application stop operation indicates that the user changes the proxied application on the second operating system from a running state to a stopped state on the first operating system. The application pause operation indicates that the user temporarily stops the execution of the proxied application on the second operating system from the first operating system. The application resume operation indicates that the user restores the proxied application on the second operating system from a paused state to a running state on the first operating system.
[0141] Taking lifecycle management operations as an example of application startup operations, an icon of the proxy application can be displayed on the screen of the first operating system. The user can click on the icon of the proxy application on the screen of the first operating system, or perform operations through system commands or calls from other applications.
[0142] Taking the lifecycle management operation as an example of the application stop operation, the first operating system screen can display the user interface of the proxy application. The user interface of the proxy application can include an exit control, which the user clicks on the user interface of the proxy application.
[0143] Taking the application pause operation as an example of lifecycle management, the first operating system's screen can display the user interface of the proxy application, and the user can click the pause control on the user interface of the proxy application.
[0144] Taking application recovery as an example of lifecycle management, the first operating system's screen can display a layer of the first operating system. Users can click the proxy application's icon on the desktop, shortcut bar, or recent applications list to allow the proxy application to continue running.
[0145] In application management operations, the application installation operation indicates that the user installs the proxied application from the second operating system on the first operating system. The application uninstallation operation indicates that the user uninstalls the proxied application from the second operating system on the first operating system. The application shutdown operation indicates that the user stops the proxied application from the second operating system on the first operating system. The data clearing operation indicates that the user clears the data of the proxied application from the second operating system on the first operating system.
[0146] Taking application management operations as an example of application installation, the application store of the proxy application can be displayed on the screen of the first operating system. The user can complete the application installation operation by clicking the "download" option of the proxy application on the screen.
[0147] Taking application management operations as an example of application uninstallation, a list of proxy applications can be displayed on the screen of the first operating system. The user can click the "Uninstall" option of the proxy application on the screen to complete the application uninstallation operation.
[0148] Taking application management operations as an example of application closure, the first operating system's screen can display the application management interface of the proxy application. Users can complete the application closure operation by clicking on options such as "End Task" and "Force Stop".
[0149] Taking the data clearing operation as an example of application management, the first operating system's screen can display the application management interface of the proxy application. Users can complete the data clearing operation by clicking on options such as "clear data" and "clear cache".
[0150] It's important to note that while both closing and stopping an application are actions to stop it from running, closing an application is usually triggered by the user. Stopping an application, besides being triggered by the user or the system, can also be triggered by internal application logic, state changes, or interactions with other components.
[0151] In some embodiments, when a management operation occurs, it is necessary to first determine whether the management operation is a control operation of the proxy application. The determination process may be as follows: determine whether the user's touch range exceeds the interface range of the proxy application's display window. If it does not exceed the interface range of the proxy application's display window, determine that the management operation is a management operation of the proxy application. Then, determine the trigger type of the current management operation and call different processes for processing according to the trigger type.
[0152] In some embodiments, the trigger types include: pressing and sliding. When the trigger type is sliding, a switching command is transmitted to the first operating system to switch the display window. When the trigger type is pressing, the agent application is triggered to start, stop, etc.
[0153] Therefore, it is possible to manage applications on the second operating system from the first operating system without the need for cumbersome switching between different operating systems. The proxy application can be accessed and run in the first operating system, which expands the ecosystem of the first operating system and enables the first and second operating systems to be flexibly applied to a variety of scenarios.
[0154] In some embodiments, referring to FIG9, the above method further includes S901 to S902.
[0155] S901, Receive input events that act on the display window of the proxy application on the layer of the first operating system.
[0156] Here, input events can be triggered in the following ways: by pressing buttons on the central control system, by clicking controls on the display screen, or by voice.
[0157] In one implementation, the user's actions in the proxy application's display window are determined by accessing the operating system's application interface, thereby obtaining the input events of the proxy application's display window.
[0158] In some embodiments, when a user enters the characters "place name XXX" in the display window of the agent application "map" and clicks search, the input event includes two events: one is entering the characters "place name XXX", and the other is searching for "place name XXX".
[0159] S902. In response to an input event, the processing result of the input event is displayed in the display window of the proxy application on the layer of the second operating system.
[0160] In one implementation, an input event is passed to the proxied application through a proxy application, and the proxied application processes the input event and displays the processing result.
[0161] In one implementation, the system can determine whether the window belongs to the proxy application based on its name, and if so, handle the corresponding input event.
[0162] In some embodiments, in order to ensure the security of the application management process, the first operating system may first determine whether the input event is valid in order to filter the input event. Here, the validity check of the first operating system can be referred to the description above, and will not be repeated here.
[0163] Therefore, using a proxy application to handle input events eliminates the need for the proxy application to filter input events based on the display window, thus improving the accuracy and efficiency of application management.
[0164] In some embodiments, if the proxy application does not receive a notification message for the input event within a preset time period, an alarm message may be displayed in the proxy application's display window. The notification message indicates that the proxied application has finished processing the input event.
[0165] In one implementation, a proxy application can set a corresponding timer for the input event. After receiving a notification message from the proxied application indicating that the input event has been processed, the proxy application cancels the timer. If the timer expires and the proxy application has not yet received a notification message from the proxied application indicating that the input event has been processed, the proxy application also outputs an alarm message.
[0166] Therefore, in the event of no response to input events, setting a corresponding timer through the proxy application and performing corresponding operations based on whether a notification message is received indicating that the proxied application has finished processing the input event can improve the smoothness and reliability of the interaction between the two operating systems and facilitate troubleshooting.
[0167] In some embodiments, referring to FIG10, cross-system fusion in full-screen display mode includes the following steps S1001 to S1006.
[0168] S1001, The user launches the agent application from the Android system's application list or shortcut bar.
[0169] S1002, the proxy application launches the proxied application on the Linux system.
[0170] S1003, the proxy application makes the layers of the Android system transparent.
[0171] S1004: Linux applications send data of windows to be displayed to layers in the Linux system.
[0172] S1005, the Android system routes input events to the proxy application.
[0173] S1006. The agent application passes input events to the proxied application on the Linux system.
[0174] In some embodiments, referring to FIG11, cross-system fusion in split-screen display mode includes the following steps S1101 to S1107.
[0175] S1101, The user launches the agent application in split-screen mode.
[0176] S1102: The proxy application launches the proxied application on the Linux system and sets the position and size of the proxied application according to the split screen position and size.
[0177] In the S1103 and other areas of the Android system's split-screen mode, applications are still being displayed on the Android system's layer.
[0178] S1104. Break down the system layer where the proxy application is located to expose the Linux system layer.
[0179] S1105, The proxied application sends the data of the window to be displayed to the layer of the Linux system.
[0180] S1106, the Android system routes input events to the proxy application.
[0181] S1107. The agent application passes input events to the proxied application on the Linux system.
[0182] In some embodiments, referring to FIG12, launching a proxied application on a Linux system from an Android-based proxy application includes the following steps S1201 to S1209.
[0183] S1201. Obtain the display area system and display mode.
[0184] S1202, Launch the proxy application and enable the display window animation.
[0185] S1203, launch the proxied application on the Linux system.
[0186] S1204. Start the proxied application.
[0187] S1205, Set the size and location of the proxied application.
[0188] S1206. Once the proxied application is ready to display a window, it notifies the Android system.
[0189] S1207: The Android system ends the window animation after receiving the notification.
[0190] S1208, Android system's proxy application breaks down.
[0191] S1209, Exposure of proxied applications on Linux systems.
[0192] In some embodiments, referring to FIG13, the active startup of a proxied application on a Linux system includes the following steps S1301 to S1307.
[0193] S1301: Listen for messages and actively start the proxied application.
[0194] S1302. Start the proxied application and determine the display area system and display mode.
[0195] S1303 After the proxied application is started, the proxy application of the Android system is launched, and the display area system and display method are passed.
[0196] S1304. The proxy application displays the proxy application's display window according to the display area system and display method.
[0197] S1305, The display window of the agent application is pushed down.
[0198] S1306, The display window of the proxied application is exposed.
[0199] S1307, The proxy application sends a response to the proxied application.
[0200] In some embodiments, referring to FIG14, for the Android system, the process of displaying window merging and sending the display includes the following steps S1401 to S1407.
[0201] S1401. Determine if the proxy application is in full screen. If it is, execute S1405; otherwise, execute S1402.
[0202] S1402. Draw the data of the first window to be displayed under the z-order in the proxy application.
[0203] S1403. Add a transparent mask to the processed data to obtain the drawing result.
[0204] S1404. Combine the drawing results, the window data of the proxy application, and the data of the second window to be displayed whose z-order is above that of the proxy application, and send them for display again.
[0205] S1405, Skip the application of z-order under the proxy application.
[0206] S1406. Combine the data of the second window to be displayed above the proxy application with the window data of the proxy application and send them for display.
[0207] S1407, Display the data in the layer of the Android system.
[0208] For Linux systems, the following steps S1408 to S1409 are also included.
[0209] S1408. Draw the window data of the application to be proxied onto the setting window.
[0210] S1409, Display the image on the Linux system layer.
[0211] In some embodiments, referring to FIG15, input event fusion includes the following steps S1501 to S1507.
[0212] S1501, the Android system dispatches events to the agent application.
[0213] S1502, The agent application filters input events.
[0214] S1503. Pass input events to the proxied application through the proxy application.
[0215] S1504. The proxy application starts the corresponding timer. If the timer expires and the proxied application does not respond, an alarm message is output.
[0216] S1505. The proxied application processes the input event after receiving it.
[0217] S1506. Notify the proxy application after the proxy application has finished processing the event.
[0218] S1507. After receiving the notification message, the agent application cancels the timer.
[0219] The foregoing primarily describes the solutions provided by some embodiments of this disclosure from a methodological perspective. To achieve the above functions, the application management device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by 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, but such implementation should not be considered beyond the scope of this disclosure.
[0220] Some embodiments of this disclosure can exemplarily divide the application management device into functional modules according to the above method. For example, the application management device may include functional modules corresponding to each functional division, or two or more functions may be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in some embodiments of this disclosure is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0221] Figure 16 is a block diagram of a multi-operating system application display device according to some embodiments. Referring to Figure 16, the multi-operating system application display device 1600 includes a receiving component 1610 and a processing component 1620.
[0222] Receiver component 1610 is configured to receive display instructions from a proxy application operating on a layer of the first operating system.
[0223] Processing component 1620 is configured to, in response to a display command, invoke the display window of the proxied application on a layer of the second operating system, where the layer of the first operating system is located above the layer of the second operating system; and display the display window of the proxied application on the display screen through the layer of the first operating system.
[0224] In some embodiments, the processing component 1620 is further configured to invoke the display window of the proxy application on the layer of the first operating system in response to a display instruction; and to display the display window of the proxy application on the display screen through the display window of the proxy application.
[0225] In some embodiments, the processing component 1620 is configured to set the display window of the proxy application to a transparent state and align the position of the display window of the proxy application on the layer of the first operating system with the position of the display window of the proxied application on the layer of the second operating system.
[0226] In some embodiments, the processing component 1620 is configured to set the size of the display window of the proxy application to be equal to the size of the display window of the proxied application.
[0227] In some embodiments, the processing component 1620 is configured to set the type of the display window of the proxy application to be the same as the type of the display window of the proxied application; here, the type of the display window includes any of the following: full-screen window, split-screen window, and floating window.
[0228] In some embodiments, the processing component 1620 described above is further configured to set other areas in the layer of the first operating system, excluding the display window of the proxy application, to a non-transparent state.
[0229] In some embodiments, the processing component 1620 is configured to obtain the display mode of the proxy application and the window data to be displayed in the first operating system, the window data to be displayed including the window data of the proxy application; and to call the window to be displayed on the layer of the first operating system based on the display mode of the proxy application and the window data to be displayed in the first operating system, the window to be displayed including the display window of the proxy application.
[0230] In some embodiments, the processing component 1620 is configured to, when the proxy application is displayed in a non-full-screen mode, invoke the display window of the proxy application on the layer of the first operating system based on the window data of the proxy application; invoke the first window to be displayed on the layer of the first operating system based on the window data of the first window to be displayed, and load a transparent mask for the overlapping part of the first window to be displayed and the display window of the proxy application; the first window to be displayed is used to indicate windows in the window to be displayed that have a lower display layer than the display window of the proxy application; and invoke the second window to be displayed on the layer of the first operating system based on the window data of the second window to be displayed, the second window to be displayed being used to indicate windows in the window to be displayed that have a higher display layer than the display window of the proxy application.
[0231] In some embodiments, the processing component 1620 is configured to, when the proxy application is displayed in full-screen mode, invoke the display window of the proxy application on the layer of the first operating system based on the window data of the proxy application; and invoke the second window to be displayed on the layer of the first operating system based on the window data of the second window to be displayed, wherein the second window to be displayed is used to indicate that the window to be displayed has a higher display layer than the display window of the proxy application.
[0232] In some embodiments, the processing component 1620 is further configured to display the boot animation of the proxy application in the display window of the proxy application after the proxy application is started, until the boot animation ends when the proxy application is detected to be started.
[0233] In some embodiments, the above display instruction is triggered by: receiving a user's startup operation on the proxy application; or detecting that the proxied application is in a startup state.
[0234] In some embodiments, the processing component 1620 described above is configured to invoke the display window of the proxied application on the layer of the second operating system in response to a launch request message from the proxied application of the first operating system.
[0235] In some embodiments, the processing component 1620 is further configured to receive input events acting on a display window of a proxy application on a layer of a first operating system; and in response to the input events, to display the processing result of the input events in a display window of the proxy application on a layer of a second operating system.
[0236] In some embodiments, the processing component 1620 is further configured to display an alarm message in the display window of the proxy application if the proxy application does not receive a notification message for the input event within a preset time period; the notification message is used to indicate that the proxy application has finished processing the input event.
[0237] In some embodiments, the processing component 1620 is further configured to, in response to a user's operation of installing the proxied application in the second operating system, create a proxy application in the first operating system and install the proxied application in the second operating system; or, in response to a user's operation of creating a proxy application in the first operating system, create a proxy application in the first operating system and install the proxied application in the second operating system.
[0238] In some embodiments, the processing component 1620 is further configured to uninstall the proxy application in the first operating system and uninstall the proxied application in the second operating system in response to a user's operation of uninstalling the proxy application in the first operating system; or, to uninstall the proxy application in the first operating system and uninstall the proxied application in the second operating system in response to a user's operation of uninstalling the proxied application in the second operating system.
[0239] Figure 17 is a block diagram of an electronic device according to some embodiments. As shown in Figure 17, the electronic device 1000 includes, but is not limited to, a processor 1001 and a memory 1002.
[0240] The aforementioned memory 1002 is used to store the executable instructions of the aforementioned processor 1001. It is understood that the aforementioned processor 1001 is configured to execute instructions to implement the multi-operating system application display method described in the above embodiments.
[0241] It should be noted that those skilled in the art will understand that the electronic device structure shown in FIG17 does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown in FIG17, or combine certain components, or have different component arrangements.
[0242] The processor 1001 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 1002, and by calling data stored in the memory 1002, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. The processor 1001 may include one or more processing units. In some embodiments, the processor 1001 may integrate an application processor and a modem processor. Here, the application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into the processor 1001.
[0243] The memory 1002 can be used to store software programs and various data. The memory 1002 may primarily include a program storage area and a data storage area. Here, the program storage area may store the operating system, applications required by at least one functional module (such as a determination unit, processing unit, etc.), etc. Furthermore, the memory 1002 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0244] In some embodiments, the electronic device 1000 further includes a display screen 1003. The display screen 1003 is communicatively connected to the processor 1001 and the memory 1002, and is used to overlay and display layers of the first operating system and the second operating system.
[0245] In some embodiments, this disclosure also provides a computer-readable storage medium including instructions, such as a memory 1002 including instructions, which can be executed by a processor 1001 of an electronic device 1000 to implement the methods in the above embodiments.
[0246] In actual implementation, the receiving component 1610 and processing component 1620 in Figure 16 can be implemented by the processor 1001 in Figure 17 calling the computer program stored in the memory 1002. The execution process can be referred to the description in the method section of the above embodiment, and will not be repeated here.
[0247] In some embodiments, the computer-readable storage medium may be a non-transitory computer-readable storage medium, such as a read-only memory (ROM), random access memory (RAM), compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device.
[0248] In some embodiments, as shown in FIG18, some embodiments of this disclosure also provide a vehicle 2000, which may include the aforementioned electronic device 1000 and may be executed by the processor 1001 of the electronic device 1000 to perform the methods in the above embodiments.
[0249] In some embodiments, this disclosure also provides a computer program product including one or more instructions that can be executed by a processor 1001 of an electronic device to perform the methods described above.
[0250] It should be noted that when one or more instructions in the computer-readable storage medium or computer program product are executed by the processor of an electronic device, they implement the various processes of the above method embodiments and achieve the same technical effect as the above method. To avoid repetition, they will not be described again here.
[0251] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0252] In the several embodiments provided in this disclosure, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0253] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the classified units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0254] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0255] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of some embodiments of this disclosure, essentially, or the parts that contribute to related technologies, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0256] The above are merely specific embodiments of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.
[0257] The above are merely specific embodiments of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.
Claims
1. A method for displaying applications across multiple operating systems, comprising: Receive display commands from proxy applications operating on the layer of the first operating system; In response to the display command, the display window of the proxied application is invoked on the layer of the second operating system, wherein the layer of the first operating system is located above the layer of the second operating system; The proxied application's display window is shown on the screen through the layer of the first operating system.
2. The method according to claim 1, further comprising: In response to the display command, the display window of the proxy application is invoked on the layer of the first operating system; The step of displaying the proxied application's display window on the display screen through the layer of the first operating system includes: displaying the proxied application's display window on the display screen through the proxy application's display window.
3. The method according to claim 2, wherein, The step of displaying the proxied application's display window on the screen through the proxy application's display window includes: Set the display window of the proxy application to a transparent state, and align the position of the display window of the proxy application on the layer of the first operating system with the position of the display window of the proxied application on the layer of the second operating system.
4. The method according to claim 3, wherein, Aligning the position of the proxy application's display window on the first operating system's layer with the position of the proxied application's display window on the second operating system's layer includes: Set the size of the proxy application's display window to be equal to the size of the proxied application's display window.
5. The method according to claim 3, wherein, Aligning the position of the proxy application's display window on the first operating system's layer with the position of the proxied application's display window on the second operating system's layer includes: Set the type of the proxy application's display window to be the same as the type of the proxied application's display window; wherein the type of the display window includes any of the following: full-screen window, split-screen window, or floating window.
6. The method according to any one of claims 3 to 5, wherein, The step of displaying the proxied application's display window on the screen through the proxy application's display window further includes: Set all areas in the first operating system's layer other than the display window of the proxy application to a non-transparent state.
7. The method according to any one of claims 2 to 6, wherein, The step of calling the display window of the proxy application on the layer of the first operating system includes: Obtain the display mode of the proxy application and the window data to be displayed in the first operating system, wherein the window data to be displayed includes the window data of the proxy application; Based on the display method of the proxy application and the data of the window to be displayed in the first operating system, the window to be displayed is invoked on the layer of the first operating system, and the window to be displayed includes the display window of the proxy application.
8. The method according to claim 7, wherein, The step of calling the window to be displayed on the layer of the first operating system based on the display method of the proxy application and the window data to be displayed in the first operating system includes: When the proxy application is displayed in a non-full-screen mode, the display window of the proxy application is called on the layer of the first operating system based on the window data of the proxy application. Based on the window data of the first window to be displayed, the first window to be displayed is invoked on the layer of the first operating system, and a transparent mask is loaded for the overlapping part of the first window to be displayed and the display window of the proxy application; the first window to be displayed is used to indicate that the window to be displayed has a lower display layer than the display window of the proxy application. Based on the window data of the second window to be displayed, the second window to be displayed is invoked on the layer of the first operating system. The second window to be displayed is used to indicate that the window to be displayed has a higher layer than the display window of the proxy application.
9. The method according to claim 7, wherein, The step of calling the window to be displayed on the layer of the first operating system based on the display method of the proxy application and the window data to be displayed in the first operating system includes: When the proxy application is displayed in full-screen mode, the display window of the proxy application is called on the layer of the first operating system based on the window data of the proxy application; Based on the window data of the second window to be displayed, the second window to be displayed is invoked on the layer of the first operating system. The second window to be displayed is used to indicate that the window to be displayed has a higher layer than the display window of the proxy application.
10. The method according to any one of claims 7 to 9, further comprising: After the proxy application is launched, its boot animation is displayed in the proxy application's display window until the proxied application is detected to be launched, at which point the boot animation ends.
11. The method according to any one of claims 1 to 10, wherein, Before receiving the display instruction from the proxy application acting on the layer of the first operating system, the method further includes: In response to the user's launch operation of the agent application, the display instruction is triggered; or The display command is triggered when the proxied application is detected to be running.
12. The method according to any one of claims 1 to 11, wherein, The step of calling the display window of the proxied application on the layer of the second operating system includes: In response to a launch request message from the proxied application in the first operating system, the display window of the proxied application is invoked on the layer of the second operating system.
13. The method according to any one of claims 1 to 12, further comprising: Receive input events that act on the display window of the proxy application on the layer of the first operating system; In response to the input event, the processing result of the input event is displayed in the display window of the proxied application on the layer of the second operating system.
14. The method of claim 13, further comprising: If the agent application does not receive a notification message for the input event within a preset time period, an alarm message will be displayed in the display window of the agent application. The notification message is used to indicate that the proxied application has finished processing the input event.
15. The method according to any one of claims 1 to 14, further comprising: In response to a user's operation to install the proxied application in the second operating system, the proxy application is created in the first operating system, and the proxied application is installed in the second operating system; or, In response to the user's operation of creating the proxy application in the first operating system, the proxy application is created in the first operating system, and the proxied application is installed in the second operating system.
16. The method according to any one of claims 1 to 15, further comprising: In response to a user's operation to uninstall the proxy application in the first operating system, the proxy application is uninstalled in the first operating system, and the proxied application is uninstalled in the second operating system; or, In response to a user's operation to uninstall the proxied application in the second operating system, the proxy application is uninstalled in the first operating system, and the proxied application is uninstalled in the second operating system.
17. An electronic device (1000), comprising: Processor (1001); Memory (1002) for storing executable instructions of the processor (1001); The processor (1001) is configured to execute the instructions to implement the multi-operating system application display method according to any one of claims 1 to 16.
18. A computer-readable storage medium, wherein, When the computer execution instructions stored in the computer-readable storage medium are executed by the processor of the device, the device is capable of executing the application display method of the multi-operating system according to any one of claims 1 to 16.
19. A vehicle (2000), comprising: The electronic device (1000) according to claim 17, or the computer-readable storage medium according to claim 18.
20. A computer program product, the computer program product comprising computer instructions, characterized in that, When the computer instructions are executed on the processor of the device, the device is able to perform the application display method of the multi-operating system according to any one of claims 1 to 16.