Display device and dual-application same-screen display method

CN116347143BActive Publication Date: 2026-10-27HISENSE VISUAL TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202310133094.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-17
Publication Date
2026-10-27
Estimated Expiration
2043-02-17

AI Technical Summary

Technical Problem

[0004]本申请一些实施例提供一种双应用同屏显示方法,以解决同一个显示设备无法同时显示两个应用界面,导致用户体验感差的问题

Benefits of technology

[0013]由以上方案可知,本申请提供的显示设备及双应用同屏显示方法,所述方法可以响应于双应用同屏显示的控制指令,获取第一应用的启动状态和第二应用的启动状态。其中,第二应用是与第一应用建立交互关系的上层应用。如果第一应用的启动状态和第二应用的启动状态均为已就绪状态,则控制显示器显示第一应用的用户界面,并在第一应用的应用界面的上层显示悬浮界面,所述悬浮界面用于显示第二应用对应的用户界面。如果第一应用的启动状态为未就绪状态,第二应用的启动状态为已就绪状态,则控制显示器显示第二应用对应的用户界面。本申请提供的方法可以在同一显示设备上同时显示两个能够互相交互的应用界面,实现双应用同屏交互显示,提高显示器的屏幕使用率,提高用户体验感。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116347143B_ABST
    Figure CN116347143B_ABST
Patent Text Reader

Abstract

The application provides a display device and a dual-application same-screen display method. The method comprises the following steps: in response to a control instruction of dual-application same-screen display, obtaining a starting state of a first application and a starting state of a second application. The second application is an upper-layer application which has an interaction relationship with the first application. If the starting state of the first application and the starting state of the second application are both ready states, the display is controlled to display a user interface of the first application, and a floating interface is displayed on an upper layer of the application interface of the first application. The floating interface is used to display a user interface corresponding to the second application. If the starting state of the first application is a non-ready state and the starting state of the second application is a ready state, the display is controlled to display the user interface corresponding to the second application. The method can display two application interfaces which can interact with each other on the same display device, realizes dual-application same-screen interaction display, improves screen utilization of the display, and improves user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application applies to the field of screen-on-screen display, and particularly relates to a display device and a method for displaying two applications on the same screen. Background Technology

[0002] Display devices refer to terminal devices capable of outputting specific display images, such as smart TVs, communication terminals, smart advertising screens, and projectors. Taking smart TVs as an example, smart TVs are television products based on Internet application technologies, possessing open operating systems and chips, and having open application platforms. They enable two-way human-computer interaction and integrate multiple functions such as audio-visual, entertainment, and data to meet diverse and personalized user needs.

[0003] Display devices can also install various applications on smart terminals according to user needs, such as traditional video applications, short video and other social applications, as well as reading applications such as comics and books. Different types of applications can support different display methods; for example, some applications can be displayed in landscape and portrait modes. However, display devices do not have the logic to display multiple applications for video playback simultaneously; a single display device typically cannot display the application interfaces of two or more applications at the same time. While it's possible to achieve application interface floating through the device's native interface, it cannot communicate data with the applications below, requiring modifications to the underlying code based on the system version, which has significant limitations. Summary of the Invention

[0004] Some embodiments of this application provide a method for displaying two applications on the same screen to solve the problem that the same display device cannot display two application interfaces at the same time, resulting in a poor user experience.

[0005] In a first aspect, some embodiments of this application provide a display device, including a display and a controller. The display is configured to display a user interface; the controller is configured to perform the following program steps:

[0006] In response to a control command for simultaneous display of two applications, the startup status of the first application and the startup status of the second application are obtained; the second application is an upper-layer application that has established an interactive relationship with the first application; the startup status is either ready or not ready.

[0007] If both the startup status of the first application and the startup status of the second application are in a ready state, then the display is controlled to show the user interface of the first application, and a floating interface is displayed on top of the user interface of the first application. The floating interface is used to display the user interface corresponding to the second application.

[0008] If the first application is in a pre-launch state and the second application is in a ready state, then the display is controlled to show the user interface corresponding to the second application.

[0009] Secondly, some embodiments of this application also provide a method for displaying two applications on the same screen, the method comprising:

[0010] In response to a control command for simultaneous display of two applications, the startup status of the first application and the startup status of the second application are obtained; the second application is an upper-layer application that has established an interactive relationship with the first application; the startup status is either ready or not ready.

[0011] If both the startup status of the first application and the startup status of the second application are in a ready state, then the display is controlled to show the user interface of the first application, and a floating interface is displayed on top of the user interface of the first application. The floating interface is used to display the user interface corresponding to the second application.

[0012] If the first application is in a pre-launch state and the second application is in a ready state, then the display is controlled to show the user interface corresponding to the second application.

[0013] As can be seen from the above solutions, the display device and dual-application simultaneous display method provided in this application can respond to the control command for dual-application simultaneous display and obtain the startup status of the first application and the second application. The second application is an upper-layer application that establishes an interactive relationship with the first application. If both the startup status of the first application and the startup status of the second application are in a ready state, the display is controlled to show the user interface of the first application, and a floating interface is displayed on top of the application interface of the first application. The floating interface is used to display the user interface corresponding to the second application. If the startup status of the first application is not ready, and the startup status of the second application is ready, the display is controlled to show the user interface corresponding to the second application. The method provided in this application can simultaneously display two interactive application interfaces on the same display device, realizing dual-application simultaneous interactive display, improving screen utilization, and enhancing user experience. Attached Figure Description

[0014] To more clearly illustrate the technical solution of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0015] Figure 1 This describes the usage scenario of the display device in the embodiments of this application;

[0016] Figure 2 This is a hardware configuration diagram of the display device in the embodiments of this application;

[0017] Figure 3 This is one embodiment of the flowchart of the dual-application simultaneous display method provided in this application;

[0018] Figure 4 This is the second embodiment of the flowchart for the dual-application simultaneous display method provided in this application;

[0019] Figure 5 A flowchart illustrating the process of launching a third application to switch targets, provided in an embodiment of this application;

[0020] Figure 6 This is a schematic diagram of the process of establishing an interaction relationship between the first application and the second application in an embodiment of this application;

[0021] Figure 7 This is a schematic diagram showing the prompt interface in an embodiment of this application;

[0022] Figure 8 This is a schematic diagram of a floating interface displayed in landscape mode in an embodiment of this application;

[0023] Figure 9 This is a schematic diagram of a vertically displayed floating interface in an embodiment of this application;

[0024] Figure 10 This is a schematic diagram illustrating the floating interface responding to movement events in an embodiment of this application;

[0025] Figure 11 This is a schematic diagram of the floating interface responding to the magnification event in an embodiment of this application;

[0026] Figure 12 This is a schematic diagram of the floating interface responding to a shrinking event in an embodiment of this application. Detailed Implementation

[0027] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.

[0028] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.

[0029] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.

[0030] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.

[0031] The display device provided in this application can have various implementation forms, such as a television, a laser projection device, a monitor, an electronic bulletin board, an electronic table, etc.

[0032] Figure 1 This is a schematic diagram illustrating the operational scenario between the display device and the control unit according to the embodiment. Figure 1 As shown, the user can operate the display device 200 through the control device 300 or the control unit 100.

[0033] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device 200 includes infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via wired means. Users can control the display device 200 by inputting user commands through buttons on the remote control, voice input, control panel input, etc.

[0034] In some embodiments, a control device 300 (such as a mobile phone, tablet computer, computer, laptop computer, etc.) may also be used to control the display device 200. For example, an application running on the control device 300 may be used to control the display device 200.

[0035] In some embodiments, the display device 200 may receive instructions not by using the control device 300 or control unit 100 described above, but by receiving user control through touch or gestures.

[0036] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the control device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.

[0037] In some embodiments, the display device 200 also communicates with the server 400. The display device 200 may communicate via a local area network (LAN), wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the display device 200. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.

[0038] like Figure 2 As shown, the display device 200 may include at least one of the following: a tuner 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.

[0039] In some embodiments, controller 250 may include a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first to an nth interface for input / output.

[0040] The display 260 may include the following components: a display screen component for displaying images; a driving component for driving image display; a component for receiving image signals output from the controller 250 and displaying video content, image content, and a menu control interface, as well as a user control UI interface, etc.

[0041] The display 260 can be an LCD display, an OLED display, or a projection display, and can also be a projection device and a projection screen.

[0042] The communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of the following: a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The display device 200 can establish the transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.

[0043] The user interface can be used to receive control signals from the control device 100 (such as an infrared remote control).

[0044] Detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.

[0045] The external device interface 240 may include, but is not limited to, one or more of the following: High Definition Multimedia Interface (HDMI), analog or high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.

[0046] The tuner / demodulator 210 receives broadcast television signals via wired or wireless means, and demodulates audio and video signals, such as EPG data signals, from multiple wireless or wired broadcast television signals. In some embodiments, the controller 250 and the tuner / demodulator 210 may be located in different separate devices, that is, the tuner / demodulator 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0047] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the monitor 260, the controller 250 can execute operations related to the object selected by the user command.

[0048] In some embodiments, the controller 250 includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), a RAM (Random Access Memory), a ROM (Read-Only Memory), a first to an nth interface for input / output, a communication bus, etc.

[0049] Users can input commands through a graphical user interface (GUI) displayed on the monitor 260, and the user input interface receives the user input commands through the GUI. Alternatively, users can input commands by entering specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors.

[0050] A user interface (GUI) is the medium through which an application or operating system interacts and exchanges information with the user. It converts information from its internal form to a form that the user can accept. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of an electronic device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.

[0051] In some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the Android Runtime and System Library layer (referred to as the "System Runtime Layer"), and the kernel layer.

[0052] In some embodiments, at least one application runs in the application layer. These applications may be Windows programs, system settings programs, or clock programs that come with the operating system; they may also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the examples above.

[0053] The framework layer provides application programming interfaces (APIs) and a programming framework for applications. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications within the application layer. Applications can access system resources and obtain system services during execution through the API interface.

[0054] In some embodiments, the display device 200 can launch a corresponding application in response to a user-input application launch command, and display the user interface or media assets of the application on the display 260. However, the display device 200 does not have the logic to display multiple applications for video playback simultaneously; that is, the same display device 200 usually cannot display the application interfaces of two or more applications at the same time, thus failing to achieve the purpose of displaying multiple applications on the same screen.

[0055] In some embodiments, when a user wants to watch two applications simultaneously, the application interface can be made to float through the device's native interface. That is, a movable floating interface is formed on top of the user interface of the application being displayed on the display 260, so as to display different applications. For example, when a user wants to watch two applications simultaneously, the lower application can be played in full screen, and the upper application can be played in a window floating above the lower application.

[0056] While the above implementation method can display the user interfaces of two applications simultaneously, the upper-layer application cannot communicate with the lower-layer application, requiring modifications to the underlying code based on the system version, resulting in significant limitations. For example, consider a scenario where display device 200 launches a fitness application. When using the fitness application, the user needs to simultaneously watch the application's tutorial and observe their own movements to ensure correctness and adjust accordingly, achieving the goal of learning while practicing. This necessitates that display device 200 simultaneously display a preview of the user's own movements while showing the tutorial screen or video from the fitness application; that is, display device 200's image acquisition interface captures the user's own movement.

[0057] To support the display device 200 in capturing user fitness video, the display device 200 can integrate a screen mirroring software development kit (SDK) into its fitness application. When the user opens the fitness application, provided screen mirroring permissions are granted, the fitness application can interact with the display device 200's image capture interface. The image capture interface can capture the user's fitness movements when the user moves within its capture range, and then display the user's fitness footage through the fitness application. After the display device 200 receives a screen mirroring command, the lower-level fitness application displays a fitness instruction video, while the upper-level application can float above the lower-level application to display the user's fitness video.

[0058] In the above implementation scheme, the native interface of the display device 200 can achieve simultaneous display of two applications on the same screen through a floating method, but it cannot enable data communication between the upper-layer application and the lower-layer application displayed on the same screen. Furthermore, the interaction and communication between applications requires modifications to the underlying code of the display device 200's system version, such as system upgrades or version maintenance, resulting in significant limitations.

[0059] To address the issue that a single display device 200 cannot simultaneously display the user interfaces of two applications, some embodiments of this application provide a display device 200, which should include at least a display 260 and a controller 250. The display 260 is configured to display the user interface corresponding to an application. The controller 250 is configured to execute a dual-application simultaneous display method, which enables the simultaneous display of at least two interactive applications and dynamically adjusts the display layout of the two applications, such as... Figure 3 As shown, the method includes:

[0060] S100, in response to the control command for simultaneous display of two applications, obtains the startup status of the first application and the startup status of the second application.

[0061] Display device 200 can display an application interface containing applications installed on display device 200. During operation of display device 200, users can input control commands to select any application in the application interface to launch and run, causing the current display screen to jump to the launched application interface. Depending on the display device 200, users can input control commands through control device 100 or touch screen.

[0062] When the controller 250 launches two applications simultaneously, it needs to launch the first application and the second application sequentially. For ease of distinction, the application launched first is referred to as the first application, and the application launched later is referred to as the second application. In some embodiments, the second application may also be an upper-layer application that establishes an interaction relationship with the first application.

[0063] In some embodiments, the number of applications displayed simultaneously can be greater than two, and the maximum number of applications displayed can be determined based on the screen area of ​​the display 260. Some embodiments of this application only illustrate the simultaneous display of a first application and a second application on the display device 200. Corresponding to the first application and the second application, the control instructions can each include two types of startup instructions. One startup instruction is used to start the first application, and the other startup instruction is used to start the second application. Taking a touch-enabled display 260 as an example, the controller 250 can generate corresponding startup instructions by listening to user clicks on the icons of the first application and the second application on the display 260 screen, and then, in response to the startup instructions, launch the first application and the second application sequentially.

[0064] Before the controller 250 starts the first and second applications, it is also necessary to obtain the startup status of the first and second applications, which is either ready or not ready. Different status identifiers can be selected to identify different application types in the display device 200. For example, the status identifiers used and their corresponding representations may include: "PREPARED" indicating preparation complete and the current application can be started; "FOCUS" indicating preparation complete and the current application can be started; "IDLE" indicating preparation in progress and the current application cannot be started; "FINISH" indicating the interface has exited and the current application cannot be started; and "ERROR" indicating an application error and the current application cannot be started.

[0065] In the aforementioned status indicators, both "PREPARED" and "FOCUS" indicate that the application is ready to start. However, the conditions for these two startup states differ. For background service applications, such as some screen mirroring applications, which rely on the normal operation of a WiFi network, they only need to be in the "PREPARED" state to start normally. For non-background service applications, such as offline screen mirroring applications, which require specific web pages to function, these applications require specific conditions to start and are considered non-background service applications. They need to be in the "FOCUS" state under the aforementioned specific conditions to function normally. "FOCUS" controls the startup under these specific conditions. After the controller 250 responds to the control command, it needs to determine whether the first and second applications can start normally based on their startup states.

[0066] In some embodiments, before the controller 250 launches the first and second applications, it also needs to determine the applications in the display device 200 that support hover launch. For example... Figure 6 As shown, the controller 250 can traverse the application list of the display device and filter out applications that support the floating function to serve as the second and third applications. In some embodiments, metadata information can be retrieved from the database of the display device 200, and all applications on the device can be traversed using the metadata information to filter out applications that support the floating function.

[0067] It should be noted that, in order to distinguish them from the first and second applications, all other applications that support floating display can be considered as the third application.

[0068] After selecting applications that support the floating function, the client services of the first application and the third application are bound together, as well as the client services of the first application and the third application, to establish an interaction relationship between the first application and the third application, and also to establish an interaction relationship between the second application and the third application. After establishing the interaction relationship, the first application and the second application can respectively engage in interactive processes with the third application, such as information exchange, data transfer, and resource sharing.

[0069] In some embodiments, taking the establishment of an interaction relationship between a first application and a third application as an example, when establishing the interaction relationship between the first application and the third application, after the first application starts, it can also bind to client services of other applications to establish interaction relationships between the first application and other applications. After the interaction relationship is successfully established, the first application can perform cross-process message passing with other applications.

[0070] For example, the current startup status of the first application can be notified to a third or other application. After receiving the notification message from the first application, the third or other application can execute subsequent processes based on the notification message. For example, it is also possible to monitor the connection status of other applications, including successful connection or disconnection, or record the current interaction information of the third application and notify other applications.

[0071] S200, if both the startup state of the first application and the startup state of the second application are in a ready state, then control the display to show the user interface of the first application, and display a floating interface on top of the user interface of the first application.

[0072] The controller 250 can determine the startup state sequentially based on the startup order of the first and second applications. If the startup state of the first application is "ready," the controller 250 controls the display 260 to display the user interface of the first application in full screen. Then, the controller determines the startup state of the second application. If the startup state of the second application is "ready," its user interface needs to be displayed in a floating manner. At this time, the controller 250 divides the display area of ​​the floating interface at the default position of the display 260. The floating interface is located above the user interface of the first application and is used to display the user interface corresponding to the second application. Then, the controller 250 controls the display 260 to display the user interface corresponding to the second application, thereby achieving simultaneous display of the user interfaces of two applications on the same screen.

[0073] If the first application and the second application have an interactive relationship, when the controller 250 determines that the second application is in a ready state, it establishes an interactive connection between the first application and the second application, and after the connection is successfully established, it sends a prompt message to the user interface of the first application and the user interface of the second application to notify that the interactive relationship has been successfully established.

[0074] In some embodiments, if the first application is in a ready state, the controller 250 displays the user interface of the first application in full screen. If the second application is in a not-ready state, the controller 250 sends a message indicating that the second application failed to start to the user interface of the first application. After a preset interval, the controller 250 re-detects the startup state of the second application. If the startup state of the second application switches to a ready state within a preset number of detections, a floating interface is displayed on the user interface of the first application. If the startup state of the second application remains not-ready within the preset number of detections, a message indicating that the second application failed to start is sent to the user interface of the first application.

[0075] During application operation, if an application encounters a program error or the user actively terminates the first application, the full-screen display will be in a non-display state. To improve the screen utilization of the display 260, in some embodiments, if the startup state of the first application changes from ready to not ready, the controller 250 will remove the floating interface and display the user interface of the second application in full screen.

[0076] In some embodiments, the display device 200 can set a default floating position according to the display orientation of the floating interface. For example, if the floating interface is displayed in landscape mode, it can float on the upper left or upper right corner of the user interface of the first application. If the floating interface is displayed in portrait mode, it can float on the left or right side of the first application to avoid the floating interface obscuring the user interface of the first application and affecting the user's viewing of the user interface of the first application.

[0077] S300, if the startup state of the first application is not ready and the startup state of the second application is ready, then control the display to show the user interface corresponding to the second application.

[0078] In this embodiment, as Figure 4 As shown, if the startup state of the first application is not ready, the controller 250 controls the display 260 to display the user interface corresponding to the second application, and sends a prompt message indicating that the first application failed to start to the user interface of the second application. The controller then re-checks the startup state of the first application at preset intervals. If the startup state of the first application is ready, the controller 250 switches the full-screen view from the user interface of the second application to the user interface of the first application, and displays a floating interface on top of the user interface of the first application. If the startup state of the first application remains not ready within the preset number of checks, the controller 250 sends a prompt message indicating that the first application cannot start to the user interface of the second application.

[0079] Users can also choose to switch applications displayed on the same screen according to their needs. For example, users can launch other applications through the control device 100 or touch function to replace the first and second applications. In some embodiments, such as Figure 5 As shown, the controller 250 can obtain the startup status of the third application in response to a user-input switching command. The switching command includes a user-specified target switching interface, which is the user interface or floating interface of the first application.

[0080] If the third application is in a ready state, the controller 250 will switch the target switching interface to the user interface of the third application. For example, if the target switching interface is the user interface of the first application, after the switch, the controller 250 will display the user interface of the third application in full screen, and display a floating interface on top of the user interface of the third application, in which the user interface of the second application is still displayed. If the target switching interface is a floating interface, after the switch, the controller 250 will still display the user interface of the first application in full screen, but the user interface of the second application in the floating interface will switch to the application interface of the third application.

[0081] In some embodiments, before the floating interface is displayed on top of the first application, the display device 200 may display an operation prompt interface above the first application to prompt and guide the user on how to perform the dual-application simultaneous display operation. Correspondingly, after the floating interface is displayed on top of the first application, a floating receipt notification may be sent to the first application to indicate that the floating operation has been initiated. The floating receipt can be understood as confirmation that the second application has successfully displayed in the form of a floating interface. When the first application receives the floating receipt, it can exit the operation prompt interface based on the floating receipt.

[0082] like Figure 7 As shown, the first application is a fitness app. To achieve the goal of learning and practicing simultaneously, users need to use the second application to project the video or images captured in real time by the image acquisition interface onto the floating interface. Figure 7 In the fitness app, a prompt interface is displayed on top of the screen to guide the user to perform a dual-app simultaneous display operation.

[0083] In some embodiments, the controller 250 can also determine the display position of the floating interface based on its display orientation. Before displaying the floating interface, the controller 250 needs to read its display orientation. The display orientation includes landscape and portrait displays; the layout size of the floating interface differs for each of these two orientations.

[0084] like Figure 8 As shown, if the display orientation is landscape, the first layout size is obtained, where the first layout size includes the first layout coordinates and the first window size. The first layout coordinates are the display coordinates of the floating interface (landscape) on the display screen 260, representing the coordinates of the center point of the floating interface. The first window size is the boundary size forming the floating interface, and includes the first window height and the first window width. When the display orientation of the floating interface is landscape, the first window width is greater than the first window height.

[0085] After obtaining the first layout size, the controller 250 sets the display position of the floating interface according to the first layout coordinates, and adjusts the display area of ​​the floating interface according to the first window size, so that the height of the floating interface is the height of the first window and the width of the floating interface is the width of the first window.

[0086] like Figure 9 As shown, if the display orientation is portrait mode, the second layout size is obtained. The second layout size includes second layout coordinates and a second window size. The second layout coordinates are the display coordinates of the floating interface (portrait mode) on the display screen 260, representing the coordinates of the center point of the floating interface. The second window size is the boundary size forming the floating interface, including a second window height and a second window width. When the floating interface is displayed in portrait mode, the second window height is greater than the second window width.

[0087] After obtaining the second layout size, the controller 250 sets the display position of the floating interface according to the second layout coordinates, and adjusts the display area of ​​the floating interface according to the second window size, so that the height of the floating interface is the height of the second window and the width of the floating interface is the width of the second window.

[0088] In some embodiments, the controller 250 may also calculate the window size of the floating interface based on the resolution size of the video stream of the corresponding application.

[0089] If the display orientation is landscape, the controller 250 needs to acquire the video stream to be played by the second application and parse the video stream to obtain the video stream width and height. If the video stream width is greater than or equal to the video stream height, it indicates that the video stream is a landscape video. In this case, the first window height is determined to be the default height, and the aspect ratio of the floating interface display orientation is acquired. The width of the first window is then calculated based on the default height and aspect ratio.

[0090] In some embodiments, if the width of the video stream is less than the height of the video stream, it indicates that the video stream is a video played in portrait mode. In this case, the width of the first window is confirmed to be the default width, and the aspect ratio of the display direction is obtained. The height of the first window is then calculated based on the default width and the aspect ratio.

[0091] If the display orientation is portrait mode and the video stream width is greater than or equal to the video stream height, then the width of the second window is determined to be the default width, and the height of the second window is calculated based on the default width and the aspect ratio.

[0092] If the width of the video stream is less than the height of the video stream, then the height of the second window is determined to be the default height, and the width of the second window is calculated based on the default width and the aspect ratio.

[0093] For example, if the display screen is in landscape orientation, that is, the current video stream is a landscape video stream, the display area of the landscape screen is planned, the default layout size corresponding to the display area of the landscape screen is acquired, the default width is taken as a fixed width, the video stream is scaled proportionally according to the fixed width, and the size of the floating window is dynamically set through setLayoutParams; if the display screen is in portrait orientation, that is, the current video stream is a portrait video stream, the display area of the portrait screen is planned, the default layout size corresponding to the display area of the portrait screen is acquired, the default height is taken as a fixed height, the video stream is scaled proportionally according to the fixed height, and the size of the floating window is dynamically set through setLayoutParams.

[0094] The calculation method for the window size of the floating window is as follows:

[0095] The width of the video stream is denoted as VideoWidth, and the height of the video stream is denoted as VideoHeight. If VideoWidth ≥ VideoHeight, the video stream is played in landscape orientation, the width of the parent layout is a fixed width, denoted as X, and the height of the parent layout is X*VideoHeight / VideoWidth.

[0096] If VideoWidth < VideoHeight, the height of the parent layout is a fixed height, denoted as Y, and the width of the parent layout is Y*VideoWidth / VideoHeight. The window width and window height of the floating window are the width and height of the parent layout.

[0097] In some embodiments, when the second application is a screen projection application, the floating interface will display the screen projection image sent by the screen projection terminal, and the window size of the floating window also needs to be adjusted when the screen projection terminal switches between landscape and portrait orientations or the menu key of the remote controller is operated to switch.

[0098] The calculation method for the window size of the floating window may also be as follows:

[0099] The width and height of the parent layout, that is, the width and height of the current floating window, are acquired and denoted as ViewWidth and ViewHeight respectively.

[0100] The width and height of the current video stream are acquired and denoted as VideoWidth and VideoHeight respectively.

[0101] If ViewWidth ≥ ViewHeight, the aspect ratio of the video stream is determined. If VideoWidth ≥ VideoHeight, the height of the parent layout is a fixed height, denoted as Y, then the width of the parent layout is Y*VideoHeight / VideoWidth, that is, the window width of the floating window is Y*VideoHeight / VideoWidth, and the window height of the floating window obtained through calculation is Y*VideoHeight*VideoHeight / VideoWidth / VideoWidth. If VideoWidth < VideoHeight, the height of the parent layout is a fixed height, denoted as Y, then the height of the parent layout is Y*VideoWidth / VideoHeight, and the window width and window height of the floating window are the width and height of the parent layout.

[0102] If ViewWidth < ViewHeight, the aspect ratio of the video stream is determined. If VideoWidth ≥ VideoHeight, the width of the parent layout is a fixed width, denoted as X, then the height of the parent layout is X*VideoHeight / VideoWidth, and the window width and window height of the floating window are the width and height of the parent layout; if VideoWidth < VideoHeight, the width of the parent layout is a fixed width, denoted as X, then the height of the parent layout is X*VideoWidth / VideoHeight, the window width of the floating window obtained through calculation is X*VideoWidth*VideoWidth / VideoHeight / VideoHeight, and the window height of the floating window is X*VideoWidth / VideoHeight.

[0103] If the user wants to actively adjust the position of the floating interface, the floating interface can be moved through the direction keys or touch function on the control device 100, such as a finger or a stylus. In some embodiments, when the user wants to actively move and adjust the position of the floating interface, such as Figure 10 shown in the figure, taking the user's manual touch as an example, the controller 250 may monitor a movement event on the screen of the display 260, and in response to the movement event, obtain the movement start point and the movement end point in the movement event. The movement start point is any point where the user clicks to the center point of the floating interface or within the display area of the floating interface through touch, and the movement end point is the positioning point where the touch pressure disappears after the floating interface moves. In Figure 10 , the dashed part is the floating interface that has not been moved, and the solid part is the floating interface after movement.

[0104] After obtaining the initial and final movement points, the controller 250 can generate movement parameters based on these points. These parameters include the movement direction of the floating interface and its displacement along that direction. The movement direction is the vector direction from the initial to the final movement point, and the displacement is the straight-line distance between the two points. The controller 250 can then control the display 260 to show the moved floating interface based on the movement direction and displacement value.

[0105] The controller 250 also needs to determine whether the moved floating interface obstructs the display edge of the monitor 260, thereby affecting the integrity of the floating interface display. In some embodiments, the controller 250 also needs to parse the floating interface to obtain its boundary points, and then calculate the distance between the boundary points of the floating interface and the edge of the display area in the moving direction. If the distance is greater than or equal to the displacement value, it means that after the controller 250 moves the floating interface, the floating interface will not contact the edge of the display area, and the floating interface will not be incomplete. The controller 250 can directly execute the movement of the floating interface, and then control the monitor 260 to display the moved floating interface according to the moving direction and the displacement value in the moving direction.

[0106] If the distance is less than the displacement value, it means that after the controller 250 moves the floating interface, the floating interface will come into contact with the boundary of the display area, resulting in an incomplete image of the floating interface. At this time, the controller 250 needs to reduce the moving distance of the floating interface with the edge of the display area as the boundary, and control the display 260 to display the moved floating interface at the edge of the display area to fully display the moved floating interface.

[0107] In some embodiments, the user can also move the floating interface using the buttons on the control device 100. The user can use the directional keys on the control device 100 to move the focus to the floating interface and click the directional keys to control the direction and distance of movement of the floating interface. The controller 250 can preset a fixed movement distance for the directional keys. For example, clicking the "right" directional key once moves the floating interface to the right by Xpx or dp, where px is the unit of pixels and is the basic unit for image display, and dp is the length unit of a device-independent pixel. Alternatively, pressing and holding the "right" directional key will continuously move the floating interface to the right. The controller 250 can calculate the movement distance of the floating interface by obtaining the number of times the user clicks the directional keys. If the product of the number of clicks and the movement distance of each click causes the boundary point of the floating interface to exceed the edge of the display area, the controller 250 displays the floating interface at the edge of the display area.

[0108] In some embodiments, if a user wants to actively adjust the size of the floating interface, they can do so via the control device 100 or touch functionality, such as by using two-finger zoom, three-finger zoom, or multi-finger zoom. The controller 250 can listen for zoom events emitted by the user on the floating interface and, in response to these events, obtain the movement distance of at least one zoom point on the floating interface. The number of zoom points can be determined based on the number of times the user simultaneously touches the display 260 screen. For example, if the user emits a zoom event on the floating interface using two fingers, there are two zoom points on the floating interface. The controller 250 can determine whether the zoom event is a zoom-in or zoom-out event based on the direction of movement of the zoom points.

[0109] like Figure 11 As shown, when a user drags the floating interface with two fingers, the zoom point moves towards the edge of the display area. The controller 250 then determines this event as a zoom-in event and displays the zoomed-in floating interface. Figure 12 As shown, when a user drags the floating interface with two fingers, the zoom point moves towards the center of the floating interface. The controller 250 then determines this event as a zoom-out event and displays the zoomed-out floating interface. Simultaneously, the controller 250 obtains the distance the zoom point has moved and the screen size of the display 260. Then, the controller 250 calculates the zoom ratio of the floating interface based on the distance moved and the screen size, and controls the display 260 to display the zoomed-out floating interface according to the zoom ratio. It should be noted that the above-mentioned zoom event and touch effect on the floating interface are only implemented within the floating interface itself.

[0110] In some embodiments, users can also zoom in and out of the floating interface using the control device 100. First, they can use the directional keys on the control device 100 to move the focus to the floating interface, and then directly click the "zoom in" or "zoom out" button to zoom in or out of the floating interface according to a preset zoom ratio. Users can also manually input the zoom ratio through the control device to better determine the desired zoom effect.

[0111] Some embodiments of this application also provide a method for displaying two applications on the same screen, the method comprising:

[0112] S100, in response to the control command for simultaneous display of two applications, obtains the startup status of the first application and the startup status of the second application.

[0113] The second application is an upper-layer application that establishes an interactive relationship with the first application; the startup state is either ready or not ready.

[0114] S200, if both the startup state of the first application and the startup state of the second application are in a ready state, then control the display to show the user interface of the first application, and display a floating interface on top of the user interface of the first application.

[0115] The floating interface is used to display the user interface corresponding to the second application.

[0116] S300, if the startup state of the first application is not ready and the startup state of the second application is ready, then control the display to show the user interface corresponding to the second application.

[0117] As can be seen from the above solutions, this application provides a display device and a method for displaying two applications simultaneously on the same screen. The method can respond to control commands for simultaneous display of two applications by acquiring the startup states of a first application and a second application. The second application is an upper-level application that interacts with the first application. If both the startup states of the first and second applications are ready, the display is controlled to show the user interface of the first application, and a floating interface is displayed above the application interface of the first application. This floating interface is used to display the user interface corresponding to the second application. If the startup state of the first application is not ready, but the startup state of the second application is ready, the display is controlled to show the user interface corresponding to the second application. The method provided by this application can simultaneously display two interactive application interfaces on the same display device, achieving simultaneous interactive display of two applications on the same screen, improving screen utilization and enhancing user experience.

[0118] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product, which can be stored in a computer-readable storage medium.

[0119] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0120] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the foregoing exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be made based on the foregoing teachings. The selection and description of the above embodiments are for the purpose of better explaining the contents of this disclosure, thereby enabling those skilled in the art to better utilize the described embodiments.

Claims

1. A display device, characterized in that, include: The monitor is configured to display the user interface; The controller is configured as follows: In response to a control command for simultaneous display of two applications, the startup status of the first application and the startup status of the second application are obtained; the second application is an upper-layer application that has established an interactive relationship with the first application. The startup state is either ready or not ready. Obtain the application types of the first application and the second application, wherein the application types include background service type and non-background service type; When the application type is a background service, the startup state is determined to be ready when the network is ready. If the application type is a non-background service type, and the preset conditions of the non-background service type are met, the startup state is determined to be a ready state. If both the startup status of the first application and the startup status of the second application are in a ready state, then the display is controlled to show the user interface of the first application, and a floating interface is displayed on top of the user interface of the first application. The floating interface is used to display the user interface corresponding to the second application. If the first application is in a pre-launch state and the second application is in a ready state, then the display is controlled to show the user interface corresponding to the second application.

2. The display device according to claim 1, characterized in that, The controller is further configured to: If the startup state of the first application changes from ready to not ready, the floating interface is deactivated, and the display is controlled to show the user interface of the second application.

3. The display device according to claim 1, characterized in that, The controller is further configured to: In response to a user-input switching command, the startup status of a third application is obtained; the switching command includes a target switching interface specified by the user; the target switching interface is the user interface of the first application or the floating interface; If the third application is in a ready state, then the user interface displayed on the target switching interface will be replaced with the user interface of the third application.

4. The display device according to claim 3, characterized in that, The controller is further configured to: Iterate through the application list of the display devices; Filter the applications that support the floating function from the application list to be used as the second application and the third application; Bind the client services of the first application and the second application, and bind the client services of the first application and the third application to establish the interaction relationship between the first application and the second application, and to establish the interaction relationship between the first application and the third application.

5. The display device according to claim 1, characterized in that, Before the controller executes the display of the floating interface above the user interface of the first application, it is further configured to: Read the display orientation of the floating interface; the display orientation is either landscape or portrait. If the display orientation is landscape, then the first layout size is obtained; the first layout size includes the first layout coordinates and the first window size; the first window size includes the first window width and the first window height; The display position of the floating interface is set according to the first layout coordinates, and the display area of ​​the floating interface is adjusted according to the first window size; If the display orientation is portrait mode, then the second layout size is obtained; the second layout size includes the second layout coordinates and the second window size; the second window size includes the second window width and the second window height. The display position of the floating interface is set according to the second layout coordinates, and the display area of ​​the floating interface is adjusted according to the second window size.

6. The display device according to claim 5, characterized in that, If the display orientation is landscape, the controller is further configured to: Obtain the video stream to be played in the second application; The video stream is parsed to obtain the video stream width and video stream height; If the width of the video stream is greater than or equal to the height of the video stream, then the height of the first window is determined to be the default height, and the aspect ratio of the display direction is obtained, and the width of the first window is calculated based on the default height and the aspect ratio; If the width of the video stream is less than the height of the video stream, then the width of the first window is confirmed to be the default width, and the aspect ratio of the display direction is obtained, and the height of the first window is calculated based on the default width and the aspect ratio.

7. The display device according to claim 6, characterized in that, If the display orientation is portrait mode, the controller is further configured to: If the width of the video stream is greater than or equal to the height of the video stream, then the width of the second window is determined to be the default width, and the height of the second window is calculated based on the default width and the aspect ratio. If the width of the video stream is less than the height of the video stream, then the height of the second window is determined to be the default height, and the width of the second window is calculated based on the default width and the aspect ratio.

8. The display device according to claim 1, characterized in that, The controller is further configured to: In response to a movement event on the floating interface, obtain the initial movement point and the end movement point from the movement event; Movement parameters are generated based on the initial movement point and the final movement point. The movement parameters include the movement direction of the floating interface and the displacement value of the floating interface in the movement direction. Calculate the distance between the boundary point of the floating interface and the edge of the display area in the direction of movement; If the distance is greater than or equal to the displacement value, the display is controlled to show the floating interface after the movement according to the moving direction and the displacement value; If the distance is less than the displacement value, the display is controlled to show the moved floating interface at the edge of the display area.

9. The display device according to claim 1, characterized in that, The controller is further configured to: In response to the zoom event of the floating interface, the movement distance of at least one zoom point on the floating interface is obtained; Obtain the screen size of the display; The scaling ratio of the floating interface is calculated based on the movement distance and the screen size; Control the display to show the scaled floating interface according to the scaling ratio.

10. A method for simultaneous display of two applications on the same screen, applied to a display device, the display device comprising a display and a controller, characterized in that, The method includes: In response to a control command for simultaneous display of two applications, the startup status of the first application and the startup status of the second application are obtained; the second application is an upper-layer application that has established an interactive relationship with the first application; the startup status is either ready or not ready. Obtain the application types of the first application and the second application, wherein the application types include background service type and non-background service type; When the application type is a background service, the startup state is determined to be ready when the network is ready. If the application type is a non-background service type, and the preset conditions of the non-background service type are met, the startup state is determined to be a ready state. If both the startup status of the first application and the startup status of the second application are in a ready state, then the display is controlled to show the user interface of the first application, and a floating interface is displayed on top of the user interface of the first application. The floating interface is used to display the user interface corresponding to the second application. If the first application is in a pre-launch state and the second application is in a ready state, then the display is controlled to show the user interface corresponding to the second application.

Citation Information

Patent Citations

  • Live broadcast picture content switching display method, storage equipment and computer equipment

    CN108093290A

  • User interface rendering method and device of application program, medium and electronic equipment

    CN110347464A

  • Display equipment

    CN111935530A

  • Multi-window synchronous operation method and device, and computer readable storage medium

    CN113384882A