Application sharing method and apparatus, and device and storage medium
By creating a virtual display screen in the shared screen of the smart cockpit and creating an active container on the target screen, the problem of the inability to share third-party applications between multiple entertainment screens is solved, timely and effective sharing of applications is achieved, and user experience is improved.
Patent Information
- Application Number
- PCT/CN2024/102185
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-21
- Filing Date
- 2024-06-28
- Publication Date
- 2025-03-27
AI Technical Summary
In the smart cockpit, the sharing of third-party applications cannot be achieved in a timely and effective manner between multiple in-car entertainment screens, resulting in users being unable to watch videos or participate in interactive games from a better perspective.
By creating a virtual display screen in the shared screen, displaying the target application, and creating an active container on the target screen, initializing the surface, monitoring the screen changes of the virtual display, obtaining image frames, and rendering and displaying the surface in the active container, the application sharing is realized.
It realizes timely and effective sharing of third-party applications among multiple display screens, and users can watch videos or participate in interactive games from the best perspective, improving the user experience of in-car entertainment.
Smart Images

Figure CN2024102185_27032025_PF_FP_ABST
Abstract
Description
Application sharing method, device, equipment and storage medium
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 21, 2023, with application number 202311227816.3 and invention name “A method, device, equipment and storage medium for sharing applications”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of device intelligent control technology, and specifically to an application sharing method, apparatus, device and storage medium. Background Art
[0003] With the development of smart cockpits, users' demand for in-car entertainment is increasing. At the same time, as in-car devices become more intelligent, they can gradually support the simultaneous use of a large number of third-party applications.
[0004] Some car models are equipped with multiple in-car entertainment screens, but a large number of third-party applications can usually only run on one screen at the same time. For example, video applications, game applications, or chat applications are run and displayed on the center console screen in the car. Applications cannot be shared between multiple entertainment screens in a timely and effective manner, which prevents other users in the car from watching video programs or participating in interactive games with a better perspective. Technical issues
[0005] One of the purposes of the embodiments of the present application is to provide an application sharing method, apparatus, device and storage medium. Technical Solutions
[0006] The technical solution adopted in the embodiment of the present application is: creating a virtual display screen on a shared screen and displaying a target application on the virtual display screen; creating an active container on the target screen and initializing a surface in the active container; monitoring screen changes of the target application on the virtual display screen and obtaining image frames corresponding to the screen changes; rendering and displaying the image frames on the surface in the active container, so as to solve the problem in the prior art that third-party applications cannot share applications between multiple display screens in a timely and effective manner.
[0007] In a first aspect, a method for sharing an application is provided, the method comprising:
[0008] Creating a virtual display screen on the shared screen, and displaying the target application on the virtual display screen;
[0009] Create an activity container on the target screen and initialize a surface in the activity container;
[0010] Monitoring a screen change of a target application on the virtual display screen, and acquiring an image frame corresponding to the screen change;
[0011] The image frame is rendered and displayed on the surface in the active container.
[0012] In one embodiment, after rendering and displaying the image frame on the surface in the active container, the method further comprises:
[0013] Acquire a first touch event of the target screen, where the first touch event is associated with the image frame displayed on the surface of the target screen;
[0014] After performing coordinate conversion on the first touch event, a second touch event is obtained;
[0015] The second touch event is sent to the virtual display screen for response.
[0016] In one embodiment, rendering and displaying the image frame on the surface in the active container includes:
[0017] Creating an application sharing manager and registering the surface in the application sharing manager;
[0018] The image frame is sent to the surface in the active container through the application sharing manager for rendering and display.
[0019] In one embodiment, the method further comprises:
[0020] Obtaining an application sharing request initiated by a user on a first screen of a device, where the application sharing request indicates at least one second screen of the device;
[0021] In response to the application sharing request, executing the step of creating a virtual display screen on the shared screen and displaying the application to be shared on the virtual display screen;
[0022] The first screen is formed as the shared screen, and the at least one second screen is formed as the target screen.
[0023] In one embodiment, the first screen is a main control screen of the vehicle-mounted device.
[0024] In one embodiment, there are multiple second screens, and the multiple second screens are distributed at different seats in the cabin.
[0025] In one embodiment, the method further comprises:
[0026] When the system in the device is started, the steps of creating a virtual display screen on the shared screen and displaying the target application on the virtual display screen are performed.
[0027] In one embodiment, creating a virtual display screen on a shared screen includes:
[0028] Acquire screen generation configuration information; the screen generation configuration information includes screen information associated with the shared screen, or pre-set specific configuration information;
[0029] The virtual display screen is created on the shared screen based on the screen generation configuration information.
[0030] In a second aspect, an application sharing device is provided, comprising:
[0031] A first display module is configured to create a virtual display screen on the shared screen and display a target application on the virtual display screen;
[0032] A creation module, configured to create an activity container on a target screen and initialize a surface in the activity container;
[0033] An acquisition module, configured to monitor screen changes of a target application in the virtual display screen and acquire image frames corresponding to the screen changes;
[0034] The second display module is configured to render and display the image frame on the surface in the active container.
[0035] In a third aspect, a vehicle-mounted device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method described in the first aspect when executing the computer program.
[0036] According to a fourth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method according to the first aspect are implemented.
[0037] In a fifth aspect, a computer program product is provided. When the computer program product is run on a vehicle-mounted device, the vehicle-mounted device executes the steps of the method described in the first aspect. Beneficial effects
[0038] The beneficial effect of an application sharing method provided by an embodiment of the present application is that: for different screens, a virtual display screen is created in the shared screen, and the target application is displayed in the virtual display screen, an active container is created on the target screen and a surface is initialized in the active container, and then the screen changes of the target application in the virtual display screen are monitored, and the image frames corresponding to the screen changes are obtained, and the image frames are rendered and displayed in the surface of the active container on the target screen. With the help of the virtual display screen, the application to be shared in a screen is isolated, and on this basis, the image frames generated by the application to be shared in the virtual display screen as the screen changes are obtained, and are rendered to the surface created by the container on the target screen, and the rendered image is displayed, thereby realizing timely and effective application sharing between display screens by third-party applications.
[0039] An application sharing device, vehicle-mounted equipment, computer-readable storage medium, and computer program product provided in an embodiment of the present application have the same beneficial effects as the above-mentioned application sharing method. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or exemplary technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0041] FIG1 is a flowchart of an application sharing method provided in an embodiment of the present application;
[0042] FIG2 is a second flowchart of an application sharing method provided in an embodiment of the present application;
[0043] FIG3 is a structural diagram of an application sharing device provided in an embodiment of the present application;
[0044] FIG4 is a structural diagram of a vehicle-mounted device provided in an embodiment of the present application. Modes for Carrying Out the Invention
[0045] In order to make the purpose, technical solutions and advantages of this application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit this application.
[0046] It should be noted that when a component is referred to as being "fixed on" or "disposed on" another component, it may be directly on the other component or indirectly on the other component. When a component is referred to as being "connected to" another component, it may be directly or indirectly connected to the other component. The terms "upper", "lower", "left", "right", etc. indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings. They are only for the convenience of description and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, they cannot be understood as limitations on this application. For ordinary technicians in this field, the specific meanings of the above terms can be understood according to the specific circumstances. The terms "first" and "second" are only used for the purpose of convenience of description and cannot be understood as indicating or implying relative importance or implicitly indicating the number of technical features. "Multiple" means two or more, unless otherwise clearly and specifically defined.
[0047] As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0048] In a specific implementation, the vehicle-mounted devices described in the embodiments of the present application include but are not limited to vehicle-mounted devices such as vehicle-mounted phones and vehicle-mounted computers with touch-sensitive surfaces (e.g., touch screen displays and / or touchpads).
[0049] In the following discussion, an in-vehicle device including a display and a touch-sensitive surface is described. However, it should be understood that the in-vehicle device may include one or more other physical user interface devices such as a physical keyboard, mouse, and / or joystick.
[0050] The in-vehicle device supports various applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk burning application, a spreadsheet application, a game application, a telephone application, a video conferencing application, an email application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0051] Various applications that can be executed on the in-vehicle device can use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the in-vehicle device can be adjusted and / or changed between applications and / or within a corresponding application. In this way, the common physical architecture of the in-vehicle device (e.g., the touch-sensitive surface) can support various applications with user interfaces that are intuitive and transparent to the user.
[0052] It should be understood that the size of the serial numbers of each step in this embodiment does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of this application.
[0053] With the development of smart cockpits, the number of in-car entertainment screens is increasing, and users' demand for in-car entertainment is increasing. At the same time, as in-car devices become more intelligent, they can gradually support the simultaneous use of a large number of third-party applications.
[0054] During the application process, a large number of third-party applications can only run on one screen at the same time. In order to enable timely and effective application sharing between multiple entertainment screens, users can watch video programs or participate in interactive games with a better viewing angle.
[0055] On this basis, an embodiment of the present application proposes an application sharing method, which creates a virtual display screen in a shared screen and displays a target application in the virtual display screen. With the help of the virtual display screen, the application to be shared in a screen is isolated, an active container is created on the target screen and a surface is initialized in the active container. Subsequently, the screen changes of the target application in the virtual display screen are monitored, and the image frame corresponding to the screen change is obtained. The image frame is rendered and displayed on the surface in the active container on the target screen, so that the display screen of the target application in the shared screen is shared to the target screen, thereby realizing timely and effective application sharing of third-party applications between display screens.
[0056] In order to illustrate the technical solution provided by this application, a detailed description is given below with reference to specific drawings and embodiments.
[0057] Referring to Figure 1, Figure 1 is a flowchart of an application sharing method provided by an embodiment of the present application. As shown in Figure 1, some embodiments of the present application provide an application sharing method, which includes the following steps:
[0058] Step 101: Create a virtual display screen on the shared screen and display a target application on the virtual display screen.
[0059] The target application is the application to be shared. Multiple applications can be displayed simultaneously on the shared screen. The target application is one or more of these applications. The target application is moved to the virtual display screen, allowing the shared application to perform data sharing in an additional container without interfering with the normal display of other applications on the shared screen.
[0060] The screen sharing method shares the target application to the target screen, which can be one or more.
[0061] Specifically, the target screen and the shared screen may be screens in different devices, enabling application sharing between different devices.
[0062] Alternatively, the target screen and the shared screen are different screens in the same device, enabling application sharing on different displays of the same device.
[0063] In one example, the same device may include several display screens, one of which (a first screen) may share an application with multiple other display screens (second screens). In this case, the one display screen serves as a shared screen, and the other multiple display screens serve as target screens.
[0064] In a specific application, the first screen is a main control screen of the vehicle-mounted device; and / or, there are multiple second screens, and the multiple second screens are distributed at different seats in the cabin.
[0065] For example, a smart cockpit is equipped with an onboard central control unit. This unit includes a main control screen on the center console, and displays at various seats within the cabin. These displays serve as display peripherals for the central control unit. Users can then share a target application from among multiple apps displayed on the main control screen on the center console with displays at other seats.
[0066] In this case, the main control screen in the vehicle-mounted central control device becomes the shared screen, and the display screens configured on other seats become the target screens in the same device.
[0067] In addition, the above step 101 corresponds to the application sharing process, and the implementation of this step and application sharing has certain triggering conditions.
[0068] Specifically, the virtual display screen may be created when the user initiates application sharing or when the system is started.
[0069] In one embodiment, an application sharing request initiated by a user on a first screen of a device may be obtained, where the first screen is formed as a shared screen, wherein the application sharing request indicates at least one second screen of the device, where the at least one second screen is formed as a target screen.
[0070] Here, users can trigger the application sharing service through global gestures or quick panels. Users can choose to share the current application to one or more screens to meet the needs of multiple passengers watching movies and playing games at the same time.
[0071] Then, in response to the application sharing request initiated by the user on the first screen of the device, step 101 is executed to create a virtual display screen on the shared screen, and the application to be shared is displayed on the virtual display screen.
[0072] That is, step 101 is executed in response to a user initiating an operation of application sharing.
[0073] In another embodiment, when the system in the device is started, step 101 may be executed to create a virtual display screen on the shared screen, and the target application may be displayed on the virtual display screen.
[0074] That is, as the system in the device is started, the sharing process of the target application is automatically executed.
[0075] The system may refer to an operating system installed in the device, or a software system installed in the system for implementing a sharing function. In one example, the system is a software system corresponding to an application sharing manager, that is, step 101 is executed when the application sharing manager is started in the device.
[0076] In the above step 101, in order to realize screen sharing, it is necessary to first display the target application on the virtual display screen.
[0077] In a specific implementation process, in order to create a virtual display screen in a shared screen, screen generation configuration information may be introduced; based on the screen generation configuration information, a virtual display screen is created in the shared screen.
[0078] The screen generation configuration information is data configuration information required to create a virtual display screen.
[0079] The screen generation configuration information may be based on screen information of the screen where the user initiates screen sharing (ie, the shared screen) or use specific, fixed configuration information, such as a fixed 1080P screen configuration.
[0080] That is, the screen generation configuration information may include screen information associated with the shared screen, or pre-set specific configuration information.
[0081] The screen information and pre-set specific configuration information associated with the shared screen include, for example, screen characteristic information such as screen width, height, and pixel density.
[0082] During implementation, the Android DisplayManager class is used to obtain information about the screen where the target application is located, and the information is stored in the DisplayMetrics object dm.
[0083] DisplayManager is a class used to manage display devices in the Android system. It provides methods to obtain and control the properties and status of display devices. Among them, the getDisplayMetrics() method can be used to obtain some relevant information about the current display device.
[0084] By calling the getDisplayMetrics() method of DisplayManager, you can get the DisplayMetrics object of the current display device, and then you can use the properties of the object to get relevant screen information, such as: screen width: dm.widthPixels, screen height: dm.heightPixels, screen density: dm.density, screen pixel density DPI: dm.densityDpi, font scaling factor: dm.scaledDensity, status bar height: dm.statusBarHeight and other screen characteristic information.
[0085] Create a virtual display based on the DisplayMetrics screen information, virtualDisplay = DisplayManager.createVirtualDisplay(dm, ImageReader), to adapt and layout the virtual screen according to the different characteristics of the shared screen.
[0086] To create a virtual display (virtualDisplay), use the DisplayManager's createVirtualDisplay method. The createVirtualDisplay method requires two parameters: dm and ImageReader. ImageReader is a class used to read image data and can indicate the image data in the virtual display.
[0087] After the virtual display is created, the target application to be shared is moved to the virtual display: ActivityTaskManager.moveTaskToDisplay(task, virtualDisplay).
[0088] This process directly moves the application to the VirtualDisplay, uses the VirtualDisplay as the carrier for running the application, and enables screen sharing based on the VirtualDisplay.
[0089] Step 102: Create an activity container on the target screen and initialize a surface in the activity container.
[0090] The activity container refers to the Activity container.
[0091] An activity container is a component in an Android application that manages and organizes activities. It's responsible for creating, starting, pausing, resuming, and destroying activities, as well as handling navigation and communication between activities. It can be considered the application's primary user interface, responsible for presenting the user interface and handling user interactions. In an Android application, every activity must run within an activity container.
[0092] Surface is an Android class used for drawing and managing graphics. It can be used to display images, videos, animations, and other content. The Activity container manages the Activity lifecycle, while Surface is used for drawing and managing graphics. They can be used together to display and manipulate graphics in Android applications.
[0093] Here, the surface is initialized in the activity container, that is, the Surface is initialized in the Activity container.
[0094] Specifically, create one or more container Activities of the target screen in the target screen: ActivityAppsShareManager.startRenderActivity(displays).
[0095] This process specifically requires starting a rendering activity in the container activity, which will render on the specified display (target screen). The parameter displays indicates which displays to render on and can be the identifiers of one or more displays (target screens).
[0096] Create a Surface for hosting the screen in the container Activity and register it with the application sharing manager:
[0097] AppsShareManager.addSurface(new Surface(TextureView: SurfaceTexture).
[0098] This code adds a Surface to AppsShareManager (the application sharing manager), which is created using TextureView and SurfaceTexture.
[0099] TextureView is a view control in Android that displays videos, images, or other graphics surfaces that can be rendered with hardware acceleration. SurfaceTexture is a class used to acquire image frames from sources such as cameras and video players. Therefore, the purpose of this code is to add a Surface created using TextureView and SurfaceTexture to the AppsShareManager so that the app can use the Surface for image rendering and other operations.
[0100] In a device with application sharing, an application sharing manager AppsShareManager may be created. Optionally, the application sharing manager may be created after the operating system in the device is started.
[0101] The application sharing manager is an abstract tool class description used to manage the various modules in this method and implement application sharing management. It can also be any other name with a similar role, such as ShareManager, MirrorManager, etc.
[0102] Specifically, after the surface is initialized in the active container in the target screen, it needs to be registered in the application sharing manager, and the virtual display screen in the shared screen is registered in the application sharing manager to realize application sharing and information transmission between different screens through the sharing manager.
[0103] Step 103 : monitoring the screen change of the target application in the virtual display screen, and obtaining the image frame corresponding to the screen change.
[0104] When the application screen changes in the virtual display of the shared screen, use ImageReader to directly read the image frame data to render and display the image frame data on multiple displays (target screens).
[0105] Step 104: Render and display the image frame on the surface of the active container.
[0106] Here, the application screen in the virtual display is rendered to one or more physical screens (target screens) to achieve multi-screen sharing of the application.
[0107] When an application sharing manager AppsShareManager is created, image frame data can be distributed to one or more physical screens through AppsShareManager:
[0108] AppsShareManager.renderlmageOnDisplays(image, displays).
[0109] This function is used to render an image on multiple displays. The parameter image is the image to be rendered, and displays is the identifier of the display of the target screen.
[0110] The image frame data is distributed to the surfaces in the active container on each target screen through the sharing manager for image rendering and display, thereby realizing the rendering and display of the image frame on the surface in the active container.
[0111] In a specific application sharing process, the following operations are performed:
[0112] Start the application sharing manager, and the user initiates an application sharing request. Based on the screen information of the screen where the application sharing request is initiated (i.e., the shared screen), a virtual display screen is created on the shared screen. The target application to be shared in the screen where the application sharing request is initiated is moved to the virtual display screen. A container Activity is created on the shared target screen and the corresponding Surface is initialized. If there are multiple target screens, a container Activity needs to be created on each screen and the corresponding Surface needs to be initialized. ImageReader is used to monitor the screen changes of the virtual display screen, and the acquired image frame Image is rendered to the Surface created by the container of each target screen. ImageReader is repeatedly used to monitor the screen changes of the virtual display screen, and the acquired image frame Image is rendered to the Surface created by the container of each target screen (i.e., steps 103 and 104 are repeated). Application screen sharing can be achieved until the target application screen does not change, or the target application is exited.
[0113] During the above application sharing process, only one VirtualDisplay is used for the shared application running container, which directly reads the screen data on the VirtualDisplay and distributes and renders the read data to multiple projected target screens, thereby realizing timely and effective sharing of applications between different screens.
[0114] During the application sharing process, for each new target screen to be projected, you only need to create an Activity container in the new target screen, without creating multiple Displays. This simplifies the operational process during multi-screen application sharing, reduces system resource usage, distributes and renders applications on one screen at a lower cost, and realizes cross-screen sharing of applications. In addition, a large number of existing third-party applications can use this solution to achieve multi-screen sharing of applications without any modification. There is no additional cost for integrating new applications into the device, meeting the user's needs for watching videos or participating in interactive games at the best angle.
[0115] The embodiments of this application also provide different implementation methods of the application sharing method.
[0116] Refer to Figure 2, which is a second flow chart of an application sharing method provided by an embodiment of the present application. As shown in Figure 2, an application sharing method includes the following steps:
[0117] Step 201: Create a virtual display screen on the shared screen, and display a target application on the virtual display screen.
[0118] Step 202: Create an activity container on the target screen and initialize a surface in the activity container.
[0119] Step 203 : monitoring the screen changes of the target application in the virtual display screen, and obtaining image frames corresponding to the screen changes.
[0120] Step 204: Render and display the image frame on the surface of the active container.
[0121] For the specific implementation process of the above steps 201 to 204, please refer to the relevant description process of each possible implementation method of steps 101 to 104 in the above embodiment. To avoid repetition, they will not be described here one by one.
[0122] After the target application is shared from the shared screen to the target screen for display in step 204 , the process may include a user taking control of the application from the target screen to the shared screen, which specifically includes steps 205 to 207 .
[0123] Step 205: Acquire a first touch event on the target screen.
[0124] The first touch event is associated with the image frame displayed on the target screen.
[0125] Here, the surface refers to the Surface in Android. Surface is a class in Android that is used to draw and manage graphics surfaces.
[0126] Activity containers are containers for managing the Activity lifecycle, and they can be used together to display and manipulate graphics in Android applications.
[0127] The image frame of the target application shared with the target screen is rendered on the surface created by the Activity container of the target screen.
[0128] Therefore, the first touch event is associated with the image frame. The first touch event may be a touch event triggered by the user in the display area of the image frame on the target screen, that is, the user may perform a touch operation on the display screen of the shared target application on the target screen.
[0129] The target screen can receive touch events onTouchEvent(event) through RenderActivity.
[0130] After the target screen captures the touch operation, it determines the touch position where the touch operation falls on the image frame and obtains the touch coordinates.
[0131] Step 206 : Perform coordinate conversion on the first touch event to obtain a second touch event.
[0132] Here, it is necessary to convert the touch coordinates corresponding to the user's touch operation based on the first touch event. Specifically, it is necessary to convert the position coordinates based on the display size of the target application in the target screen and the display size of the target application in the shared screen to obtain a new touch event, namely the second touch event.
[0133] Optionally, when an application sharing manager AppsShareManager is created, AppsShareManager may perform coordinate conversion based on the first touch event to obtain a second touch event:
[0134] NewEvent=AppsShareManager.transform(SourceSize,DestSize,event).
[0135] Step 207: Send the second touch event to the virtual display screen for response.
[0136] After the second touch event is sent to the virtual display screen, the target application in the virtual display screen responds to the converted second touch event, thereby realizing application reverse control.
[0137] Among them, when the application sharing manager AppsShareManager is created, the converted touch event NewEvent is forwarded by AppsShareManager to the virtual display screen in the shared screen:
[0138] AppsShareManager.sendPointer(NewEvent).
[0139] In the above implementation process, the container Activity used to implement shared application image rendering in the target screen is used to receive touch events, and then the touch events are directly distributed to the virtual screen in the target screen after coordinate conversion for response. It supports users to implement reverse control of shared applications in the shared screen on different screens, realize application screen sharing and control sharing, so that users can participate in application control and game control while enjoying application screen sharing, and effectively participate in the operation of shared applications and game interaction.
[0140] Refer to Figure 3, which is a structural diagram of an application sharing device provided in an embodiment of the present application. For the sake of convenience of explanation, only the parts related to the embodiment of the present application are shown.
[0141] The application sharing device 300 includes:
[0142] A first display module 301 is configured to create a virtual display screen on a shared screen and display a target application on the virtual display screen;
[0143] A creation module 302 is configured to create an activity container on a target screen and initialize a surface in the activity container;
[0144] An acquisition module 303 is configured to monitor screen changes of a target application in the virtual display screen and acquire image frames corresponding to the screen changes;
[0145] The second display module 304 is configured to render and display the image frame on the surface in the active container.
[0146] The device further comprises:
[0147] Control module for:
[0148] Acquire a first touch event of the target screen, where the first touch event is associated with the image frame displayed on the surface of the target screen;
[0149] After performing coordinate conversion on the first touch event, a second touch event is obtained;
[0150] The second touch event is sent to the virtual display screen for response.
[0151] The second display module 304 is specifically configured to:
[0152] Creating an application sharing manager and registering the surface in the application sharing manager;
[0153] The image frame is sent to the surface in the active container through the application sharing manager for rendering and display.
[0154] Wherein, the device further includes:
[0155] First response module, used to:
[0156] Obtaining an application sharing request initiated by a user on a first screen of a device, where the application sharing request indicates at least one second screen of the device;
[0157] In response to the application sharing request, calling the first display module to execute the steps of creating a virtual display screen on the shared screen and displaying the application to be shared on the virtual display screen;
[0158] The first screen is formed as the shared screen, and the at least one second screen is formed as the target screen.
[0159] The first screen is a main control screen of the vehicle-mounted device; and / or, there are multiple second screens, and the multiple second screens are distributed at different seats in the cabin.
[0160] Wherein, the device further includes:
[0161] The second response module is used to call the first display module to execute the steps of creating a virtual display screen on the shared screen and displaying the target application on the virtual display screen when the system in the device is started.
[0162] The first display module 301 is specifically configured to:
[0163] Acquire screen generation configuration information; the screen generation configuration information includes screen information associated with the shared screen, or pre-set specific configuration information;
[0164] The virtual display screen is created on the shared screen based on the screen generation configuration information.
[0165] The application sharing device provided in the embodiment of the present application can implement each process of the embodiment of the above-mentioned application sharing method and can achieve the same technical effect. To avoid repetition, it will not be described here.
[0166] Figure 4 is a structural diagram of an in-vehicle device provided in an embodiment of the present application. As shown in the figure, the in-vehicle device 4 of this embodiment includes: at least one processor 40 (only one is shown in Figure 4 ), a memory 41, and a computer program 42 stored in the memory 41 and executable on the at least one processor 40. When the processor 40 executes the computer program 42, it implements the steps of any of the above-described method embodiments.
[0167] The vehicle-mounted device 4 may include, but is not limited to, a processor 40 and a memory 41. Those skilled in the art will appreciate that FIG4 is merely an example of the vehicle-mounted device 4 and does not limit the vehicle-mounted device 4. The vehicle-mounted device 4 may include more or fewer components than shown in the figure, or may combine certain components or different components. For example, the vehicle-mounted device may also include input and output devices, network access devices, buses, etc.
[0168] The processor 40 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0169] The memory 41 can be an internal storage unit of the vehicle-mounted device 4, such as a hard drive or memory of the vehicle-mounted device 4. The memory 41 can also be an external storage device of the vehicle-mounted device 4, such as a plug-in hard drive, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. Furthermore, the memory 41 can include both the internal storage unit of the vehicle-mounted device 4 and an external storage device. The memory 41 is used to store the computer program and other programs and data required by the vehicle-mounted device. The memory 41 can also be used to temporarily store data that has been output or is about to be output.
[0170] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0171] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0172] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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 application.
[0173] In the embodiments provided in the present application, it should be understood that the disclosed devices / vehicle-mounted equipment and methods can be implemented in other ways. For example, the device / vehicle-mounted equipment embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0174] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0175] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0176] If the integrated module / unit is implemented as a software functional unit and sold or used as a standalone product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application can implement all or part of the process steps in the above-mentioned method embodiments by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When executed by a processor, the computer program can implement the steps of each of the above-mentioned method embodiments. The computer program includes computer program code, which can be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal, and software distribution medium. It should be noted that the content of the computer-readable medium can be appropriately increased or decreased based on the requirements of legislation and patent practice in a jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media does not include electric carrier signals and telecommunication signals.
[0177] The present application implements all or part of the processes in the above-mentioned embodiment method, and can also be implemented through a computer program product. When the computer program product runs on a vehicle-mounted device, the vehicle-mounted device can implement the steps in the above-mentioned method embodiments when executing.
[0178] The above are merely optional embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included within the scope of the claims of the present application.
Claims
1. An application sharing method, characterized in that: The method comprises: Creating a virtual display screen on the shared screen, and displaying the target application on the virtual display screen; Create an activity container on the target screen and initialize a surface in the activity container; Monitoring the screen change of the target application in the virtual display screen, and acquiring the image frame corresponding to the screen change; The image frame is rendered and displayed on the surface in the active container.
2. The method according to claim 1, characterized in that: After rendering and displaying the image frame on the surface in the active container, the method further includes: Acquire a first touch event of the target screen, where the first touch event is associated with the image frame displayed on the surface of the target screen; After performing coordinate conversion on the first touch event, a second touch event is obtained; The second touch event is sent to the virtual display screen for response.
3. The method according to claim 1, characterized in that The rendering and displaying of the image frame on the surface in the active container includes: Creating an application sharing manager, and registering the surface in the application sharing manager; The image frame is sent to the surface in the activity container through the application sharing manager for rendering and display.
4. The method according to claim 1, characterized in that: The method further comprises: Acquire an application sharing request initiated by a user on a first screen of a device, wherein the application sharing request indicates at least one second screen of the device; In response to the application sharing request, executing the step of creating a virtual display screen on the shared screen and displaying the application to be shared on the virtual display screen; The first screen is formed as the shared screen, and the at least one second screen is formed as the target screen.
5. The method according to claim 4, characterized in that The first screen is the main control screen of the vehicle-mounted device.
6. The method according to claim 4, characterized in that There are multiple second screens, and the multiple second screens are distributed at different seats in the cabin.
7. The method according to claim 1, characterized in that The method further comprises: When the system in the device is started, the steps of creating a virtual display screen on the shared screen and displaying the target application on the virtual display screen are performed.
8. The method according to claim 1, characterized in that: The step of creating a virtual display screen on a shared screen includes: Acquire screen generation configuration information; the screen generation configuration information includes screen information associated with the shared screen, or pre-set specific configuration information; The virtual display screen is created on the shared screen based on the screen generation configuration information.
9. An application sharing device, characterized in that: include: A first display module, used to create a virtual display screen on the shared screen and display the target application on the virtual display screen; A creation module, used for creating an activity container on a target screen and initializing a surface in the activity container; An acquisition module, used to monitor the screen changes of the target application in the virtual display screen, and acquire the image frame corresponding to the screen change; The second display module is used to render and display the image frame on the surface in the active container.
10. The device according to claim 9, characterized in that The device also includes: A control module, configured to obtain a first touch event of the target screen, wherein the first touch event is associated with the image frame displayed on the surface of the target screen; After performing coordinate conversion on the first touch event, a second touch event is obtained; The second touch event is sent to the virtual display screen for response.
11. The device according to claim 9, characterized in that The second display module is used for: Creating an application sharing manager, and registering the surface in the application sharing manager; The image frame is sent to the surface in the activity container through the application sharing manager for rendering and display.
12. The device according to claim 9, characterized in that The device also includes: A first response module is configured to obtain an application sharing request initiated by a user on a first screen of a device, wherein the application sharing request indicates at least one second screen of the device; in response to the application sharing request, call the first display module to execute the steps of creating a virtual display screen on the shared screen and displaying the application to be shared on the virtual display screen; The first screen is formed as the shared screen, and the at least one second screen is formed as the target screen.
13. The device according to claim 9, characterized in that The device also includes: The second response module is used to call the first display module to execute the steps of creating a virtual display screen on the shared screen and displaying the target application on the virtual display screen when the system in the device is started.
14. The device according to claim 9, characterized in that The first display module is used for: Acquire screen generation configuration information; the screen generation configuration information includes screen information associated with the shared screen, or pre-set specific configuration information; The virtual display screen is created on the shared screen based on the screen generation configuration information.
15. A vehicle-mounted device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
16. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Desktop sharing method and device, computer equipment and storage medium
CN113900754A
Application screen projection method and device, vehicle-mounted terminal and readable storage medium
CN114461158A
Screen sharing control method and device, electronic equipment and storage medium
CN114816306A
Screen end equipment cooperative interaction method and device, storage medium and electronic device
CN115297344A
Display circulation method and device, equipment and storage medium
CN115421638A
Cited By
Multi-window different-display screen projection method based on container execution mechanism
CN120264078A
Display method for vehicle, display device for vehicle, and vehicle
CN121166260A