Application adaptation method and terminal equipment
By adjusting the application to the target display mode when connecting the vehicle terminal to the terminal device, optimizing the display area of the vehicle desktop, solving the problem of poor display effects caused by different screen sizes of the vehicle computer, and improving the display effect and handling of the application.
Patent Information
- Application Number
- CN202410016406.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-03
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2044-01-03
AI Technical Summary
Due to the different sizes of the car computer screen and the special-shaped screen, mobile phone applications are prone to problems such as too small controls and missed display when displaying on the car computer, resulting in poor display effect.
When connecting to the terminal device with the terminal device, adjust the application to the target display mode and optimize the on-board desktop display area, including obtaining the screen information of the vehicle terminal, determining the configuration information, detecting user operations, and updating the location and size of the wallpaper and display windows to adapt to the screen on the vehicle terminal.
It improves the display effect and handling of the application on the vehicle end, avoids the problems of too small controls and missed display, and improves the user experience.
Smart Images

Figure CN120295681A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of terminals, and in particular, to an application adaptation method and a terminal device. Background Art
[0002] With the development of the intelligentization process of automobiles, when driving a vehicle, users can use the mobile phone-vehicle infotainment intelligent interconnection product to connect the mobile phone and the vehicle infotainment system. Just by connecting the mobile phone in the vehicle, the life services on the mobile phone can be shared on the in-vehicle screen, and different applications can be experienced and controlled through the in-vehicle screen.
[0003] However, due to the different sizes of existing vehicle infotainment screens, and the characteristics of having landscape screens, irregular-shaped screens, and low resolutions, during the interconnection process between the vehicle infotainment system and the mobile phone, because there are many functions on the mobile phone, many applications are not adapted to the irregular-shaped screen or landscape screen mode of the vehicle infotainment system, resulting in problems such as poor display effects and display disorders of the applications on the vehicle infotainment system. Summary of the Invention
[0004] This application provides an application adaptation method and a terminal device to solve the problem of poor display effects or even display disorders caused by adaptation problems when displaying applications on the vehicle infotainment system side.
[0005] According to the first aspect in the embodiments of this application, an application adaptation method is provided, which is applied to a terminal device. The method includes: establishing a screen mirroring connection with the vehicle infotainment system side; obtaining the first screen information of the vehicle infotainment system side; starting the in-vehicle desktop and displaying the in-vehicle desktop on the vehicle infotainment system side; determining the first configuration information of the target display mode based on the first screen information, where the first configuration information includes the set position and size of the window for displaying the application; detecting a click operation by the user on the application icon on the in-vehicle desktop; and when the first application corresponding to the application icon supports the target display mode, displaying at least one interface of the first application on the in-vehicle desktop in the target display mode.
[0006] Through the above solution, when the vehicle infotainment system side is connected to the terminal device, the in-vehicle desktop can be configured through the terminal device, so that the application clicked by the user is displayed in the target display mode when it supports the target display mode, to adapt to the difference in the display areas between the vehicle infotainment system side and the terminal device, provide a better display effect, and avoid display problems such as too small controls and display disorders.
[0007] In a feasible implementation manner, determining the first configuration information of the target display mode based on the first screen information includes: obtaining the position and size of the navigation bar on the in-vehicle desktop; and determining the size and position of at least two display windows based on the position, size of the navigation bar, and the first screen information. In this way, the navigation bar on the in-vehicle desktop can be avoided, and it is prevented that the display window occupies the navigation bar and affects the interaction between the user and the in-vehicle desktop.
[0008] In a feasible implementation, after detecting a user's click operation on an application icon on the in-vehicle desktop, the method further includes: obtaining second configuration information of a first application; according to the second configuration information, obtaining the support status of the first application for a target display mode and the status of a function switch; when the first application corresponding to the application icon supports the target display mode, displaying at least one interface of the first application on the in-vehicle desktop in the target display mode, including: if the first application supports the target display mode and the function switch is turned on, displaying the first application on the in-vehicle desktop in the target display mode; the function switch includes a switch for turning on or off the target display mode corresponding to the first application. In this way, the user can operate to turn on or off the function switch of the application for the target display mode, so as to adjust the display mode of the application and facilitate the user's use.
[0009] In a feasible implementation, after starting the in-vehicle desktop and displaying the in-vehicle desktop on the vehicle-mounted device, the method further includes: obtaining the wallpaper setting of the in-vehicle desktop by the user; if the target display service is in a connected state, updating the background wallpaper of the target display mode according to the wallpaper setting; after determining the first configuration information of the target display mode based on the first screen information, the method further includes: obtaining the display window of the background wallpaper according to the first configuration information; displaying the background wallpaper in at least one display window. In this way, the background wallpaper can be updated and displayed, so that the user can update the wallpaper on the vehicle-mounted device, and at the same time, during the process of the user starting an application, the display problems caused by fewer starting activities can be reduced.
[0010] In a feasible implementation, determining the first configuration information of the target display mode based on the first screen information further includes: calculating the window size of the in-vehicle desktop according to the first screen information; calculating the setting position and size of the display window when different applications are in the target display mode according to the window size of the in-vehicle desktop; updating the first configuration information according to the setting position and size of the display window. In this way, the overall window size of the in-vehicle desktop and the size and setting position of the display window in the in-vehicle desktop can be calculated, so that the target display mode of the application is more adapted to the in-vehicle screen of the vehicle-mounted device and the display effect is improved.
[0011] In a feasible implementation, the method further includes: detecting a user's click on a function switch displayed on the in-vehicle desktop or the terminal device; turning on or off the function switch; updating the second configuration information according to the status of the function switch. In this way, the user can operate the function switch to realize the function switching of the application.
[0012] In a feasible implementation, the method further includes: updating the wallpaper settings in response to a wallpaper change; changing the background wallpaper according to the updated wallpaper settings; and displaying the updated background wallpaper in the display window. In this way, the wallpaper set by the user can be displayed through the display window, improving the display effect while avoiding affecting the ongoing display activities.
[0013] In a feasible implementation, if the screen display state of the terminal device is off, stop displaying the first application on the display screen of the terminal device; obtain the status information of the terminal device; if the terminal device is in a locked screen state or a vehicle head unit connection state, update the visibility of the first application on the in-vehicle desktop. In this way, when the terminal device is in the screen-off state, it can update its own status and determine whether it still needs to provide the service of the in-vehicle desktop for the vehicle head unit side. If the terminal device is connected to the vehicle head unit side, after the terminal device turns off its own screen, it still provides the service of the in-vehicle desktop for the vehicle head unit side.
[0014] In a feasible implementation, the method further includes: when the terminal device is disconnected from the vehicle head unit side, closing the in-vehicle desktop; setting the connection state of the target display service to the disconnected state. In this way, the display of the in-vehicle desktop can be disconnected, enabling the user to control the display state to end the display of the in-vehicle desktop and applications on the vehicle head unit side.
[0015] According to the second aspect of the embodiments of the present application, there is provided a terminal device, including: a display screen, a memory, and one or more processors; the display screen, the memory are coupled to the processor; wherein, the memory stores computer program code, and the computer program code includes computer instructions. When the computer instructions are executed by the processor, the terminal device executes the application adaptation method provided in the first aspect and any of its feasible implementation manners.
[0016] It can be understood that for the beneficial effects that can be achieved by the technical solution provided in the above second aspect, reference can be made to the beneficial effects in the first aspect and any of its feasible implementation manners, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 It is a schematic diagram of application display after vehicle head unit interconnection;
[0018] Figure 2 It is a schematic diagram of the structure of a terminal device in the embodiments of the present application;
[0019] Figure 3 It is a schematic diagram of the hierarchical architecture of a software system of a terminal device in the embodiments of the present application;
[0020] Figure 4 It is a schematic diagram of the hierarchical architecture of the functions of the in-vehicle desktop and the parallel window manager in the embodiments of the present application;
[0021] Figure 5 It is a schematic diagram of the software structure of the parallel window manager in the embodiment of the present application;
[0022] Figure 6 It is a schematic flow diagram of an application adaptation method in the embodiment of the present application;
[0023] Figure 7 It is a schematic timing diagram of an application adaptation method in the embodiment of the present application;
[0024] Figure 8 It is a schematic flow diagram of a wallpaper update in the embodiment of the present application;
[0025] Figure 9 It is a schematic diagram of the display of a wallpaper background in the embodiment of the present application;
[0026] Figure 10 It is a schematic diagram of the display of a vehicle-mounted desktop in the embodiment of the present application;
[0027] Figure 11 It is a schematic flow diagram of an application startup in the embodiment of the present application
[0028] Figure 12 It is a schematic diagram of the display of a function switch in the embodiment of the present application;
[0029] Figure 13 It is a schematic flow diagram when the function switch is turned on in the embodiment of the present application;
[0030] Figure 14 It is a schematic flow diagram of another application startup in the embodiment of the present application;
[0031] Figure 15 It is a schematic flow diagram of a first application starting in a target display mode in the embodiment of the present application;
[0032] Figure 16 It is a schematic flow diagram of modifying a display window configuration in the embodiment of the present application;
[0033] Figure 17 It is a schematic flow diagram after the terminal device disconnects from the vehicle head unit in the embodiment of the present application;
[0034] Figure 18 It is a schematic flow diagram of turning off the display screen in the embodiment of the present application;
[0035] Figure 19 It is a schematic diagram of the structure of an application adaptation system in the embodiment of the present application. Detailed implementation manners
[0036] Next, the technical solutions in the embodiments of the present application will be clearly described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all embodiments. Based on the embodiments of the present application, other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0037] Hereinafter, terms such as "first" and "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first", "second", etc. may explicitly or implicitly include one or more of such features. In the description of the present application, unless otherwise stated, the meaning of "a plurality" is two or more.
[0038] In addition, in the present application, orientation terms such as "upper" and "lower" are defined relative to the orientation in which the components in the drawings are schematically placed. It should be understood that these directional terms are relative concepts, which are used for relative description and clarification, and they may change accordingly with the change of the orientation in which the components in the drawings are placed.
[0039] With the development of the intelligentization process of automobiles, when users drive vehicles, they can use mobile phone-vehicle infotainment intelligent interconnection products to interconnect mobile phones and vehicle infotainment systems. Just by connecting the mobile phone in the vehicle, they can share the life services on the mobile phone to the in-vehicle screen and experience and control different applications through the in-vehicle screen.
[0040] However, the existing in-vehicle infotainment systems, especially the old ones, have different screen sizes and characteristics such as landscape screens, irregular-shaped screens, and low resolutions. During the interconnection process between the vehicle infotainment system side and the mobile phone side, due to the large number of functions and applications on the mobile phone, and the differences in the shape, resolution, etc. of the mobile phone display screen and the in-vehicle screen, it is difficult for many applications to be adapted to the in-vehicle screen of the vehicle infotainment system.
[0041] Figure 1 It is a schematic diagram of application display after vehicle infotainment system interconnection.
[0042] As Figure 1 shown, if the application is not adapted to the irregular-shaped screen or landscape screen mode of the vehicle infotainment system, the application will be directly displayed on the in-vehicle screen of the vehicle infotainment system in the display manner on the mobile phone side, resulting in too small controls of the application displayed on the in-vehicle screen and a large unutilized window area, leading to poor display effects of the application on the vehicle infotainment system side. In some embodiments, problems such as display disorder may also occur.
[0043] Based on the above problems, an application adaptation method and a terminal device are provided in an embodiment of the present application. By adjusting an application to a target display mode of in-application split screen during the display process, the display area of the in-vehicle desktop is adjusted when the vehicle-mounted device is connected to the terminal device, thereby increasing the controllability of the application and optimizing the display effect of the application on the vehicle-mounted device.
[0044] To facilitate a clear description of the technical solutions of the embodiments of the present application, some terms and technologies involved in the embodiments of the present application are briefly introduced below:
[0045] An Activity is one of the important application components in the Android system. An Activity can provide a screen for interaction. Each Activity will obtain a window for drawing its user interface. The window can fill the screen or be smaller than the screen and float above other windows. The Activities described in the embodiments of the present application are all Activities.
[0046] A stack, also known as a pushdown stack, is a restricted linear list. Its limitation is that only insert and delete operations are allowed at one end of the list. This end is called the top of the stack. Relatively, the other end is called the bottom of the stack. When operating on the stack, data entering the stack can be called pushing onto the stack, and data released from the stack can be called popping from the stack.
[0047] An application is usually composed of multiple Activities that are loosely related to each other. Generally, a certain Activity in the application is designated as the main Activity, that is, the Activity presented to the user when the application is first launched.
[0048] Activities can jump to each other to perform different operations. Whenever a new Activity is launched, the old Activity will stop, but the system will retain the Activity in the stack, that is, the back stack. When a new Activity is launched, the system will also push it onto the back stack and obtain the user's operation focus (Focus). It should be understood that the Activity at the top of the stack can obtain the operation focus. When the user completes the current Activity and clicks the back button, the system will pop and destroy the current Activity from the stack and then resume to the previous Activity.
[0049] The life cycle is a set of various states experienced by an Activity from start to end. Exemplarily, the process of an Activity from non-existence to existence and then to non-existence is the life cycle of the Activity. An Activity will have at least four states in its life cycle:
[0050] 1. Active / Running: The Activity is in an active state. At this time, the Activity is at the top of the stack and is in a visible state. Users can interact with the Activity by clicking or other means.
[0051] 2. Paused: When the Activity loses the focus of operation, that is, when the Activity is not popped up but is covered by other Activities, the Activity will be transformed into a paused state. At this time, the Activity will not be destroyed, but it will lose the way to interact with users, and its status information and variables will be retained until it returns to the top of the stack or is automatically recycled by the system due to insufficient system memory.
[0052] 3. Stopped: When an Activity is completely covered by the system, at this time, the Activity will enter a stopped state, and at this time, the Activity is no longer visible, but the resources it occupies are not recycled by the system.
[0053] 4. Killed: It is the end state of the life cycle of an Activity. After being recycled by the system, the resources occupied by the Activity will be released.
[0054] It should be understood that among the above four states, there may also be other transition states to achieve the conversion of the above states, which will not be elaborated in this application.
[0055] AOSP, that is, Android Open Source Project, is an open-source operating system development project for the Android system. Through AOSP, software in the Android system can be modified and added, so as to provide interfaces and tools for the implementation of new functions.
[0056] The following will describe in detail the technical solutions provided in the embodiments of this application with reference to the accompanying drawings.
[0057] In the embodiments of this application, users can connect to the in-vehicle device through any terminal device with a wired connection function and / or a wireless connection function, so as to realize the interconnection between the terminal device and the in-vehicle device. Therefore, the terminal device in the embodiments of this application can be any terminal device with a wired connection and / or a wireless connection function. For example, terminal devices such as smart phones, tablets, laptops, personal computers (PCs), and personal digital assistants (PDAs) are not limited in this application.
[0058] Exemplarily, taking the terminal device as a mobile phone as an example, Figure 2This is a schematic structural diagram of a terminal device in an embodiment of the present application.
[0059] Referring to Figure 2 As shown, the terminal device may include a processor 110, an external memory interface 120, an internal memory 121, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a display screen 193, a subscriber identification module (SIM) card interface 194, and a camera 195, etc. Among them, the sensor module 180 may include a pressure sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, etc.
[0060] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.
[0061] The controller may be the nerve center and command center of the terminal device. The controller may generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
[0062] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory may save the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can directly call it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0063] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0064] The external memory interface 120 may be used to store computer-executable program code, and the executable program code includes instructions. The external memory interface 120 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, application programs required for at least one function (such as a sound playback function, an image playback function, etc.). The data storage area may store data created during the use of the terminal device (such as audio data, phone book, etc.). In addition, the external memory interface 120 may include one or more storage units. For example, it may include volatile memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), etc.; it may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, etc. The processor 110 executes various functional application programs and data processing of the terminal device by running the instructions stored in the external memory interface 120 and / or the instructions stored in the memory provided in the processor.
[0065] The internal memory 121 may include one or more random access memories (RAMs) and one or more non-volatile memories (NVMs). The random access memory can be directly read and written by the processor 110, and can be used to store the operating system or executable programs of other running programs (such as machine instructions), and can also be used to store data of users and application programs, etc. The non-volatile memory can also store executable programs and store data of users and application programs, etc., and can be pre-loaded into the random access memory for direct reading and writing by the processor 110.
[0066] The charging management module 140 is used to receive a charging input from a power supply device (such as a charger, laptop power, etc.). Among them, the charger can be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module 140 can receive the charging input of the wired charger through the USB interface 130. In some embodiments of wireless charging, the charging management module 140 can receive the wireless charging input through the wireless charging coil of the terminal device.
[0067] While the charging management module 140 charges the battery 142, it can also supply power to the terminal device through the power management module 141. Among them, the battery 142 can specifically be composed of multiple batteries connected in series. The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110.
[0068] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives the input from the battery 142 and / or the charging management module 140 and supplies power to the processor 110, the internal memory 121, the display screen 193, the camera 195, the wireless communication module 160, etc. The power management module 141 can also be used to monitor parameters such as the voltage, current, battery cycle count, and battery health status (leakage, impedance) of the battery. In some other embodiments, the power management module 141 can also be disposed in the processor 110.
[0069] The wireless communication function of the terminal device can be implemented through the antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem, and baseband processor, etc.
[0070] The antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the terminal device can be used to cover a single or multiple communication frequency bands. In some embodiments, the antenna can be used in combination with a tuning switch, and different antennas can also be multiplexed to improve the utilization rate of the antenna.
[0071] The mobile communication module 150 can provide solutions for wireless communications such as 2G / 3G / 4G / 5G applied to terminal devices. The mobile communication module 150 can receive electromagnetic waves through antenna 1, and perform filtering, amplification and other processing on the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves through antenna 1 and radiate it out. In some embodiments, at least some functional modules of the mobile communication module 150 can be provided in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 can be provided in the same device.
[0072] The modulation and demodulation processor can include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. Subsequently, the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to speaker 170A, receiver 170B, etc.), or displays an image or video through the display screen 193. In some embodiments, the modulation and demodulation processor can be an independent device. In other embodiments, the modulation and demodulation processor can be independent of the processor 110 and be provided in the same device as the mobile communication module 150 or other functional modules.
[0073] The wireless communication module 160 can include a wireless fidelity (Wi-Fi) module, a bluetooth (BT) module, a GNSS module, a near field communication (NFC) module, an infrared (IR) module, etc. The wireless communication module 160 can be one or more devices integrating at least one of the above modules. The wireless communication module 160 receives electromagnetic waves through antenna 2, performs frequency modulation and filtering processing on the electromagnetic wave signal, and transmits the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be transmitted from the processor 110, perform frequency modulation and amplification on it, and convert it into electromagnetic waves through antenna 2 and radiate it out.
[0074] The display screen 193 is used to display images, videos, etc. The display screen 193 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal device may include one or N display screens 193, where N is a positive integer greater than 1.
[0075] The touch sensor, also known as the "touch control device". The touch sensor can be coupled with the display screen 193, so that the touch sensor and the display screen 193 form a touch screen, also known as the "touch control screen". The touch sensor is used to monitor the touch operation acting on it or nearby. The touch sensor can transmit the monitored touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 193. In some other embodiments, the touch sensor can also be disposed on the surface of the terminal device, at a different position from that of the display screen 193.
[0076] The pressure sensor is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor can also be coupled with the display screen 193. There are many types of pressure sensors, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. When a touch operation acts on the display screen 193, the terminal device monitors the intensity of the touch operation according to the pressure sensor. The terminal device can also calculate the position of the touch according to the monitoring signal of the pressure sensor. In some embodiments, touch operations with the same touch position but different touch operation intensities can correspond to different operation instructions.
[0077] The SIM card interface 194 is used to connect to the SIM card. The SIM card can be inserted into or removed from the SIM card interface 194 to achieve contact and separation from the terminal device. The terminal device can support one or more SIM card interfaces. The SIM card interface 194 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 194 simultaneously. The SIM card interface 194 can also be compatible with external memory cards. The terminal device interacts with the network through the SIM card to implement functions such as calls and data communication. One SIM card corresponds to one user number.
[0078] It can be understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are only illustrative descriptions and do not constitute a structural limitation on the terminal device. In other embodiments of the present application, the terminal device can also adopt different interface connection methods or a combination of multiple interface connection methods in the above embodiments. At the same time, the above Figure 2 The above is only an exemplary description when the form of the terminal device is a mobile phone. When the terminal device is in other device forms such as a tablet computer, a handheld computer, a PC, a PDA, a wearable device (such as a smart watch, a smart bracelet), etc., the structure of the terminal device can include less structure than that shown in Figure 2 or more structure than that shown in Figure 2 which is not limited herein.
[0079] It should be understood that in order to connect to the terminal device and be able to display and control the content displayed by the terminal device, the in-vehicle screen on the vehicle terminal has the function of the display screen 193 in the terminal device, and the in-vehicle screen also needs to be coupled with a touch sensor and / or a pressure sensor to receive the click operation of the user on the in-vehicle screen.
[0080] Furthermore, in order to connect to the terminal device, the vehicle terminal also needs to be provided with a wired communication module and / or a wireless communication module, so as to achieve communication connection with the terminal device through any one of connection methods such as Wi-Fi, Bluetooth, and USB connection, and then connect to the terminal device through the vehicle terminal to experience and control the application services of the terminal device on the in-vehicle screen.
[0081] It should be noted that the connection method between the vehicle terminal and the terminal device in this application is only an example, and there are other ways to achieve the connection between the vehicle terminal and the terminal device.
[0082] It can be understood that generally speaking, in addition to the support of hardware, the implementation of the functions of the terminal device also requires the cooperation of software. The software system of the terminal device can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservices architecture, or a cloud architecture. The embodiments of the present application take the layered architecture Taking the system as an example, the software structure of the terminal device is illustratively described.
[0083] Figure 3 This is a schematic diagram of the layered architecture of a terminal device software system in an embodiment of the present application. The layered architecture divides the software into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces (such as APIs).
[0084] In some examples, such as Figure 3 As shown, in an embodiment of the present application, the software of the terminal device is divided into five layers, from top to bottom, namely the application layer, the framework layer (framework), the system library and Android runtime, the HAL layer (hardware abstraction layer), and the driver layer (or kernel layer). Among them, the system library and Android runtime can also be called the native framework layer or the native layer, and the framework layer can also be called the application framework layer.
[0085] Among them, the application layer can include a series of applications. As Figure 3 shown, the application layer can include applications (application, APP) such as cameras, galleries, calendars, maps, WLAN, Bluetooth, music, videos, short messages, calls, navigation, instant messaging, etc.
[0086] The framework layer provides application programming interfaces (application programming interface, API) and programming frameworks for the applications in the application layer. The application framework layer includes some predefined functions or services. For example, the application framework layer can include an activity manager, a window manager, a content provider, an audio service, a view system, a telephone manager, a resource manager, a notification manager, a package manager, etc., and the embodiments of the present application do not make any restrictions on this.
[0087] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0088] The content provider is used to store and obtain data, and make this data accessible to applications. These data can include videos, images, audio, dialed and answered calls, browsing history and bookmarks, phone books, etc.
[0089] The view system includes visible controls, such as controls for displaying text, controls for displaying pictures, etc. The view system can be used to build applications. The display interface can be composed of one or more views. For example, a display interface including a text message notification icon can include a view for displaying text and a view for displaying pictures.
[0090] The phone manager is used to provide the communication function of the terminal device. For example, the phone manager can manage the call status of the call application (including initiation, connection, hanging up, etc.).
[0091] The resource manager provides various resources for application programs, such as localized strings, icons, pictures, layout files, video files, and so on.
[0092] The notification manager enables application programs to display notification information in the status bar. It can be used to convey notification-type messages, which can automatically disappear after a short stay without user interaction. For example, the notification manager is used to inform that the download is completed, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as the notification of a background-running application program, and can also be a notification that appears on the screen in the form of a dialogue window. For example, it prompts text information in the status bar, emits a prompt sound, the terminal device vibrates, the indicator light flashes, etc.
[0093] The package manager is used to manage application program packages in the system. It allows application programs to obtain detailed information about installed applications and their services, permissions, etc. The package manager is also used to manage events such as the installation, uninstallation, and upgrade of application programs.
[0094] The system library can include multiple functional modules. For example: surface manager, Media Libraries, OpenGL ES, SGL, etc. The surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple application programs. The Media Libraries support the playback and recording of multiple common audio and video formats, as well as static image files, etc. The Media Libraries can support multiple audio and video coding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc. OpenGL ES is used to implement three-dimensional graphic drawing, image rendering, synthesis, and layer processing, etc. SGL is a drawing engine for 2D drawing.
[0095] The android runtime includes a core library and an ART virtual machine. The android runtime is responsible for the scheduling and management of the Android system. The core library consists of two parts: one part is the functional functions that the Java language needs to call, and the other part is the core library of Android. The application layer and the application framework layer run in the ART virtual machine. The ART virtual machine executes the Java files of the application layer and the application framework layer as binary files. The ART virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0096] The HAL layer is the interface layer between the operating system kernel and the hardware circuit, aiming to abstract the hardware. It hides the hardware interface details of a specific platform, provides a virtual hardware platform for the operating system, making it hardware-independent and portable across multiple platforms. The HAL layer provides a standard interface to display the device hardware functions to a higher-level Java API framework (i.e., the framework layer). The HAL layer contains multiple library modules, and each module implements an interface for a specific type of hardware component. For example: the audio HAL audio module, the bluetooth HAL bluetooth module, the camera HAL camera module (which can also be called the camera HAL or the camera hardware abstraction module), and the sensors HAL sensor module (or called the Isensor service, the sensor service).
[0097] The kernel layer is the layer between the hardware and the software. The kernel layer includes at least a display driver, a camera driver, an audio driver, a sensor driver, a battery driver, etc., which are not limited in this application. Among them, the sensor driver can specifically include the drivers for each sensor included in the terminal device, such as a pressure sensor driver, etc.
[0098] In the embodiments of this application, the application layer also includes intelligent transportation. Specifically, intelligent transportation can include an in-vehicle desktop, a connection management module, a screen mirroring management module, and an in-vehicle parallel vision management module. Among them, the in-vehicle desktop is a software system that provides display content for the in-vehicle screen after the terminal device in this application is connected to the vehicle head unit. The connection management module is used to manage the connection between the terminal device and the vehicle head unit to provide a connection service and monitoring for the terminal device with the vehicle head unit. The screen mirroring management module is used to manage and control the in-vehicle desktop mirrored to the vehicle head unit. The in-vehicle parallel vision management module is used to manage the display mode of split-screen within the application through the MagicWindowManager (parallel window manager).
[0099] Through the intelligent transportation in the application layer, the terminal device can be connected to the vehicle head unit, and then through each module therein, the display adaptation of the vehicle head unit application can be realized.
[0100] The framework layer also includes the MagicWindowManager (parallel window manager), which can provide management for the customization service of the software system in this application. Its most important function is to encapsulate a series of policy interfaces by combining multiple data modules inside the service, manage the processes such as the startup, management, and display of Activities in the native application framework layer, and execute the policies of the MagicWindowService (parallel window service), so as to provide a basic framework for each application to realize the split-screen function within the application, that is, the MagicWindow (parallel vision mode) through the in-vehicle desktop.
[0101] It should be understood that parallel horizons is only a description of in-application split screen in the embodiments of this application. Correspondingly, the parallel horizon mode can also be used to refer to the function of in-application split screen. In this way, the in-vehicle desktop can implement functions such as connection, screen mirroring, and display by calling the above-mentioned management module.
[0102] Figure 4 It is a schematic diagram of the hierarchical architecture of the in-vehicle desktop and the parallel window manager functions in the embodiments of this application. Figure 5 It is a schematic diagram of the software structure of the parallel window manager in the embodiments of this application.
[0103] It should be noted that Figure 4 the hierarchical architecture of the software system shown in is an exemplary implementation of the intelligent travel and parallel window manager functions. Therefore, in addition to Figure 4 the hierarchical architecture shown in, the hierarchical architecture in the embodiments of this application also includes Figure 3 the content shown in.
[0104] As Figure 4 shown, in order to enable the terminal device to display content on the in-vehicle screen of the vehicle head unit after connecting to the vehicle head unit, the terminal device can utilize the in-vehicle desktop in the application layer, so that when connecting to the vehicle head unit, the in-vehicle screen can display the applications and services in the terminal device.
[0105] The terminal device can modify the original AMS (Activity Manager Service) and WMS (Window Manager Service) through AOSP, and add interfaces in the FWK, that is, the framework layer, to implement the functions of the parallel window manager and intelligent travel.
[0106] Different functional modules in intelligent travel are respectively placed in the application layer and the business middle platform. Among them, the in-vehicle desktop is an application used to project the screen to the in-vehicle screen of the vehicle head unit through the connection between the terminal device and the vehicle head unit for display. Figure 4 The business middle platform shown in is an integration of services called by the application layer. In some embodiments of this application, as Figure 3 shown, the management module in the business middle platform can also be set in the application layer to support the intelligent travel function. It should be understood that during the actual operation of the software, the in-vehicle desktop can project the in-vehicle desktop to the vehicle head unit and control it by calling the management module in the business middle platform, or directly call the service interface corresponding to the management module to implement the above functions. The method for the in-vehicle desktop to call services in this application is not limited.
[0107] As Figure 4As shown, each functional module shown in the FWK is mainly used to implement in-application split-screen display and control on the in-vehicle screen of the in-vehicle device. The FWK includes AOSP, Parallel Horizon service, and window common capabilities. Among them, through AOSP, operations such as modification and addition can be performed on AMS and WMS, so that the software system can implement the function of controlling the display content and effect after the terminal device is connected to the in-vehicle device.
[0108] The Parallel Horizon service can implement in-application split-screen on the in-vehicle desktop through the functional module and display it on the in-vehicle screen, while the window common capabilities control the windows displayed on the in-vehicle desktop through the functional module. It should be understood that in the embodiments of the present application, the Parallel Horizon service is Figure 3 the Parallel Window Manager (MagicWindowManager) shown in
[0109] The Parallel Horizon service needs to be implemented through the interface layer, business layer, and data layer. The in-vehicle Parallel Horizon management module in the business middle platform can call the functional modules in the interface layer, business layer, and data layer through the Parallel Horizon service to implement in-business split-screen.
[0110] The EasyGo interface and E / F interface are provided in the interface layer. The EasyGo interface is a fast access protocol interface. Through the EasyGo interface, the Parallel Horizon management module can quickly call the corresponding functional modules of the Parallel Horizon in the FWK to provide configuration support for the in-vehicle desktop to enter the Parallel Horizon mode.
[0111] The E / F interface enables the Parallel Horizon management module to call the functional modules that can adjust and control the configuration of windows in the Parallel Horizon mode to implement the control of the Parallel Horizon mode in the in-vehicle desktop.
[0112] The AMS extension, WMS extension, and UX (User Experience) interaction subsystem are provided in the business layer. The AMS extension includes lifecycle, stack management, mode switching, config, and home page recognition. The lifecycle is used to represent the state of an Activity. It should be understood that during the application display process, an Activity can be considered as a window or interface. The stack management is used to manage the Activities pushed onto the stack. The mode switching is used for the display mode of the Parallel Horizon. The config is used to configure the Activity. The home page recognition is used to recognize the main display page of the application.
[0113] The WMS extensions include window coordinates, screen rotation, window animation effects, status bar, window hierarchy, window scaling, and foldable screen. WMS is used to manage windows, including creating, modifying, and deleting them, as well as setting a certain window as the focus. Through the above WMS extensions, WMS can obtain window information and manage windows. It should be understood that Figure 4 the functions of WMS and its extensions are similar to Figure 3 the window manager shown in
[0114] such as obtaining window size, determining whether there is a status bar, locking the screen, taking screenshots, window scaling, screen rotation, foldable screen switching, etc. These are not elaborated in this application.
[0115] The data layer includes cloud data, EasyGo data, application switch data, and local configuration. Among them, cloud data is the data stored by the terminal device in the cloud server, EasyGo data is used to provide configuration parameters for the EasyGo interface, application switch data is used to provide the status settings of the function switches of the application itself by the user, and local configuration is the configuration information of the terminal device itself.
[0116] For the window size adjustment, focus (Focus) switching, and common window animation effects in the window common capabilities, the aforementioned functions can be achieved by calling through the interface alone, or the window can be managed and controlled as a whole through the WMS call.
[0117] It should be noted that the action objects of the AMS and WMS in AOSP and the function modules with the same names in the AMS extension and WMS extension in the service layer are the same, and the function modules with the same names can be connected to achieve unified call through the interface. Moreover, the function modules in the AMS extension and WMS extension may have more or fewer functions compared to the function modules with the same names in AMS and WMS. This application does not limit this.
[0118] Such as Figure 5As shown in the figure, the parallel window manager (MagicWindowManager) may include: an activity task management service module (ActivityTaskManagerService), a first activity starter (xxActivityStarter), a second activity starter (ActivityStarter), a parallel window management service module (MagicWindowManagerService), a parallel activity trigger (MagicActivityStarter), a window manager (MagicWinManager), a mode switching module (MagicModeSwitcher), a window mode management module (MagicModeA1An), a mode container module (MagicContainer), a parallel window configuration module (MagicWindowConfig), a configuration loading module (MagicWindowConfigLoader), a parallel mode base module (MagicModeBase), a configuration container module (ConfigurationContainer), an activity record module (ActivityRecord), a window container module (WindowContainer), a task execution module (Task), a starting window control module (StartingSurfaceController), and a wallpaper module (MagicWallpaper).
[0119] It should be understood that each of the above modules may be set as a part of the parallel window manager (MagicWindowManager), or may be set in other modules in the software architecture, such as AMS, WMS, etc. When the functions of the above modules need to be applied, the parallel window manager (MagicWindowManager) may call the modules in the above modules through instructions to implement the corresponding functions. Therefore, in this application Figure 5 The module structure shown is only a feasible implementation manner in this application, and this application does not limit the specific structure of the parallel window manager (MagicWindowManager). The parallel window manager (MagicWindowManager) may be called by the in-vehicle parallel vision management module to provide an in-app split-screen service for applications on the in-vehicle desktop.
[0120] The functions of the modules in the parallel window manager (MagicWindowManager) or the modules called by it will be described below.
[0121] Activity Task Management Service Module (ActivityTaskManagerService): Receives commands and controls the start of activities, thereby controlling the startup of activities. Exemplarily, the Activity Task Management Service Module can also be set in Figure 4 the in-vehicle parallel vision management module in the business middleware platform shown, so as to receive and respond to click commands on the in-vehicle desktop. It should be understood that the setting location of the Activity Task Management Service Module is only an exemplary implementation manner, and the specific setting location of the Activity Task Management Service Module is not limited in this application.
[0122] Exemplarily, in some embodiments, the Activity Task Management Service Module (ActivityTaskManagerService) can also be set in the AMS to replace the related functions of the corresponding activity startup in the AMS.
[0123] First Activity Starter (xxActivityStarter) and Second Activity Starter (ActivityStarter): Can receive commands from the Activity Task Management Service Module (ActivityTaskManagerService) to start the activity corresponding to the command, that is, Activity.
[0124] Magic Window Management Service Module (MagicWindowManagerService): Can manage the display of the windows for device display, enabling it to execute the parallel vision strategy, thereby completing the parallel vision display preparation for subsequent parallel vision decision-making and parallel vision display.
[0125] Magic Activity Starter: Used to decide whether the application starts in the parallel vision mode. Exemplarily, it can decide the mode startup by calling a function module to detect whether the application supports the parallel vision mode. If the Magic Activity Starter receives information that the application supports the parallel vision mode, it can decide that the application is displayed in the parallel vision mode.
[0126] Magic WinManager: Can manage the in-vehicle screen of the vehicle-mounted device and the display screen 193 of the terminal device, realize the interaction of windows in multiple devices, and can send focus transfer commands to the Magic Mode Switcher.
[0127] Magic Mode Switcher: It is used to respond to the instructions sent by the window manager and focus the display focus on the in-vehicle screen of the vehicle-mounted device. It should be understood that since the software system in the embodiments of the present application is applied to the terminal device, the display screen 193 for displaying content on the terminal device can be used as the physical screen in the software system, so as to control the display screen through the software system. And since the in-vehicle screen is connected to the terminal device through communication connection or screen mirroring connection, etc., when the terminal device executes the control of the in-vehicle screen, in order to avoid data errors, the in-vehicle desktop can be used as a virtual screen to set configuration information such as windows, and the settings of the virtual screen are projected into the in-vehicle screen through the screen mirroring function to achieve screen settings and reduce the number of interactions, thereby reducing the transmission time, and at the same time preventing the configuration information in the virtual screen from interfering with the configuration information in the physical screen and improving the configuration efficiency.
[0128] Magic Mode A1An: It can call the Magic Window Config module to obtain the preset boundaries of each window when connecting to the vehicle-mounted device, so as to obtain the size and position of each window, and plan the display position for the parallel vision mode to facilitate split-screen display within the application. And it can judge the number of active displays and reset the boundaries for each activity.
[0129] Magic Container: It updates the window size for the Magic Window Config module to facilitate the Magic Window Config module to set the boundaries of window sizes at different positions for the vehicle-mounted scenario.
[0130] Magic Window Config: It can receive window update information and reconfigure information such as size, boundaries, and position for the window, so that the in-vehicle screen of the vehicle-mounted device adapts to different applications. At the same time, it can also obtain the preset boundaries of each window when connecting to the vehicle-mounted device in the Magic Mode Base module to provide configuration data for the Magic Mode A1An module.
[0131] Furthermore, the Magic Window Config module can also receive application switch data through the Magic Window Manager Service module to update the status of the application switch.
[0132] Configuration Loading Module (MagicWindowConfigLoader): It can obtain the switch status of the current application through the Parallel Window Configuration Module (MagicWindowConfig), so as to determine whether the current application can be displayed in the parallel vision mode.
[0133] Parallel Mode Basic Module (MagicModeBase): It is used to store the basic window configuration of the parallel vision mode. At the same time, it can also receive the update of the window boundary from the Window Mode Management Module (MagicModeA1An) to set the appropriate window boundary for each application that needs to be adapted. Moreover, the Parallel Mode Basic Module (MagicModeBase) can also perform data setting and update on the Configuration Container Module (ConfigurationContainer) to facilitate the subsequent window modification process of the parallel vision mode.
[0134] Configuration Container Module (ConfigurationContainer): It can receive the modification and update information of the configuration to update the display window of the parallel vision.
[0135] Activity Record Module (ActivityRecord): It records the activities generated by the application, such as recording operations like starting activities, starting windows, and refreshing the configuration information of the parallel vision to record the changes generated by the activities. It should be noted that in the actual application process, the Activity Record Module (ActivityRecord) is managed by the Task Execution Module (Task) to record the changes generated by activities during the task execution process.
[0136] Window Container Module (WindowContainer): It can receive the instruction to overwrite and modify the window configuration to change information such as the position and size of the window, and implement the update of the window through the Task Execution Module (Task).
[0137] Task Execution Module (Task): It can receive the activity start signal sent by the Second Activity Starter (ActivityStarter) to start the activity corresponding to the signal, and can also receive the window configuration information to modify the window configuration. Specifically, the Task Execution Module (Task) can be managed by the Screen Management Module (displaycontent (not shown in the figure)) for managing the screen display. The Screen Management Module can manage the display content of the entire screen. Taking the embodiment of the present application as an example, the Screen Management Module can manage the in-vehicle desktop, which is a virtual screen.
[0138] StartingSurfaceController: It can obtain the activities that the Task needs to display, so as to control the desktop to display the corresponding starting window.
[0139] MagicWallpaper: It is used to set the background displayed on the in-vehicle device as the background wallpaper in the parallel vision mode.
[0140] Based on the above Figure 2 structure of the terminal device shown in, and Figure 3 , Figure 4 and Figure 5 software architecture shown in, the following combines Figure 6 and Figure 7 content in to give an exemplary description of the application adaptation method in this application.
[0141] Figure 6 is a schematic flowchart of an application adaptation method in an embodiment of this application, Figure 7 is a schematic timing diagram of an application adaptation method in an embodiment of this application.
[0142] In an embodiment of this application, the user can use the applications and hardware settings in the terminal device to achieve interconnection with the in-vehicle device end while making the applications in the terminal device adapt to the in-vehicle screen of the in-vehicle device end, improving the display effect of the application interface and the user experience. As Figure 6 shown, the method includes:
[0143] S100: Establish a screen mirroring connection with the in-vehicle device end.
[0144] In an embodiment of this application, the terminal device is described by taking the terminal device shown in the above Figure 2 as an example. Therefore, in this embodiment, the terminal device can be a mobile phone, and the terminal device is provided with wireless communication or wired communication units such as a wireless communication module 160 and a universal serial bus interface. Therefore, when the terminal device uses a mobile phone in-vehicle intelligent interconnection product to establish a connection with the in-vehicle device end, it can be interconnected by wireless connection or wired connection.
[0145] It should be understood that the connection method between the terminal device and the in-vehicle device end in this application is not limited, and the connection method can be either wired connection or wireless connection.
[0146] As Figure 4 and Figure 7As shown, after the terminal device is connected to the in-vehicle device through the interconnected product, the connection management module can send a connection success signal to the interconnected product, thereby informing the interconnected product of the successful connection. Among them, the interconnected product can be an application in the application layer of the terminal device software system, and this application can call the connection management module. In some embodiments, the terminal device establishes a connection with the in-vehicle device through the interconnected product. Actually, it is through the interconnected product that the connection management module is called to establish a connection between the terminal device and the in-vehicle device, and then the connection management module sends a connection success notification to the interconnected product.
[0147] It should be noted that the above embodiments are only a feasible implementation manner in this application. After the terminal device and the in-vehicle device are interconnected, the connection management module may not send a connection success message to the interconnected product, but directly proceed to the subsequent steps.
[0148] S200: Obtain the first screen information of the in-vehicle device.
[0149] Among them, the first screen information is the configuration information of the in-vehicle screen of the in-vehicle device, such as the screen size, screen resolution, desktop display situation, etc. The in-vehicle screen is the device used for display on the in-vehicle device. Since the size and shape of the in-vehicle screen of the in-vehicle device are different from those of the display screen 193 of the terminal device, the parameters such as the resolution of the in-vehicle screen are different from those of the display screen 193. After the two are connected, if the in-vehicle screen directly displays the content displayed on the display screen 193, there will be situations such as too small display controls, display misalignment, and ineffective operation.
[0150] Therefore, by obtaining the first screen information of the in-vehicle device, the applications in the terminal device can be adapted according to the corresponding screen information, improving the efficiency of application adaptation and enhancing the display effect of the in-vehicle screen.
[0151] Such as Figure 6 and Figure 7 As shown, the display size, window size, etc. of the in-vehicle screen in the in-vehicle device can be obtained through the interconnected product, so as to obtain the first screen information of the in-vehicle device.
[0152] It should be understood that after the in-vehicle device is connected to the terminal device, it can directly send the first screen information to the interconnected product, so that the terminal device obtains the first screen information corresponding to the in-vehicle screen of the in-vehicle device.
[0153] S300: Start the in-vehicle desktop and display the in-vehicle desktop on the in-vehicle device.
[0154] After the terminal device establishes a connection with the in-vehicle device and obtains the first screen information, the connection management module can notify the in-vehicle desktop to start. Among them, the in-vehicle desktop can be used as a desktop that displays different application icons in the terminal device. At the same time, for the terminal device, the in-vehicle desktop can be a virtual screen, which is distinguished from the display screen 193 of the terminal device, so as to separate the in-vehicle screen from the display screen 193 of the terminal device.
[0155] Exemplarily, in order to identify the in-vehicle scenario, that is, the in-vehicle desktop is a virtual screen and the display screen 193 of the terminal device is a physical screen, the in-vehicle device can set a root task execution module (rootTask). Through the root task execution module (rootTask), the in-vehicle desktop can be customized according to the in-vehicle screen situation of the in-vehicle device and the state of the target application to be started, and the window display level, window visibility, window display mode, etc. of the target application can be adjusted. The task execution module (Task) called by the target application in the software architecture of the terminal device can be used for the management of activities in the terminal device.
[0156] It should be noted that in this step, the in-vehicle desktop displayed on the in-vehicle screen, since no application is displayed, can be in an un-split state, so as to display the entire in-vehicle desktop.
[0157] As Figure 7 shown, after the in-vehicle desktop is displayed on the in-vehicle screen, if the in-vehicle desktop is successfully displayed, the in-vehicle desktop can send a connection success message to the connection management module, thereby triggering subsequent operations of the connection management module. After receiving the connection success notification, the connection management module can send the connection success message to the parallel vision management module, so that the parallel vision management module configures the current parallel vision mode.
[0158] In some embodiments, the connection management module can, after receiving the first screen information, simultaneously send the connection success message to the in-vehicle desktop and the parallel vision management module, so as to start the in-vehicle desktop and the parallel vision mode. Further, in order to enable the application to obtain a better effect when displayed through the parallel vision mode, when the connection management module transmits the connection success message, it will also send the obtained first screen information to the parallel vision management module, so that the configuration of the parallel vision mode obtained by the parallel vision management module is more adapted to the in-vehicle screen.
[0159] In order to better display the in-vehicle desktop, after the in-vehicle desktop is displayed, the wallpaper of the in-vehicle desktop can be set. At this time, the user can perform operations such as replacing the wallpaper of the in-vehicle desktop through the terminal device and / or the in-vehicle device.
[0160] After the terminal device is connected to the in-vehicle device through the connection management module, the terminal device can obtain the user's operations on the in-vehicle desktop through the in-vehicle screen of the in-vehicle device. Therefore, the process of the user updating or replacing the wallpaper of the in-vehicle desktop can obtain the user's wallpaper settings for the in-vehicle desktop through the in-vehicle screen or the terminal device.
[0161] Among them, the user's wallpaper setting for the in-vehicle desktop can be to input a picture into the in-vehicle device or the terminal device and use it as the wallpaper of the in-vehicle desktop, or to call one from the wallpapers stored in the terminal device or the in-vehicle device and use it as the wallpaper of the in-vehicle desktop. In this application, the method of receiving the wallpaper update instruction is not limited.
[0162] Figure 8 It is a schematic diagram of a wallpaper update process in an embodiment of this application. Figure 9 It is a schematic diagram of the display of a wallpaper background in an embodiment of this application.
[0163] Such as Figure 8 shown in (a), the Parallel Window Manager (MagicWindowManager) may further include a Window Management Listener (MagicWindowManagerEx). The Window Management Listener (MagicWindowManagerEx) can respond to the operations of the user in the window and send the monitored events to the corresponding processing module. Taking Figure 8 as an example, the Window Management Listener (MagicWindowManagerEx) can receive the signal of the in-vehicle desktop input by the user through the in-vehicle device and transfer it to its corresponding processing module.
[0164] In an embodiment of this application, the terminal device can obtain the user's operations on the in-vehicle desktop displayed on the in-vehicle device through the connection management module. Then, the connection management module can send a connection success notification to the in-vehicle parallel vision management module, and then generate a wallpaper setting command through the in-vehicle parallel vision management module and send it to the Window Management Listener (MagicWindowManagerEx) so that it can send the wallpaper setting instruction to the Parallel Window Management Service Module (MagicWindowManagerService) for processing, so as to manage and operate the window in the display through the Parallel Window Management Service Module (MagicWindowManagerService).
[0165] In an embodiment of the present application, when performing window division of the in-vehicle desktop in the target display mode, if only one activity is started for the first application, this activity can occupy only one display window in the target display mode, and at this time, the other display windows in the target display mode are in an inactive state. To avoid the display windows in the inactive state being vacant, wallpapers can be displayed in the inactive display windows to fill the blank display windows. At the same time, to reduce the impact of the wallpapers on the display windows showing the content of the ongoing activity, the wallpapers can be blurred to add special effects to the wallpapers, so as to better display the activity content through the display windows. Among them, the display window is a window divided in the target display mode for split-screen display of applications.
[0166] Exemplarily, the Parallel Window Manager (MagicWindowManager) can also be provided with a Wallpaper Blur Management Module (MagicWallpaperBlurController). After receiving an instruction to set the wallpaper, the Parallel Window Management Service Module (MagicWindowManagerService) can perform blurring processing on the wallpaper through the Wallpaper Blur Management Module (MagicWallpaperBlurController) and display the blurred wallpaper through the display windows without ongoing activities.
[0167] It should be noted that the operation of the user to change the wallpaper can also be implemented through the above steps. As Figure 8 shown in (b) therein, the user can send a wallpaper change instruction from the vehicle-mounted device to the terminal device. Exemplarily, the user sends a notification that the wallpaper has changed to the Vehicle-mounted Parallel Horizon Management Module through operations on the in-vehicle desktop. Then, the Window Management Listener (MagicWindowManagerEx) can send the wallpaper change instruction to the Parallel Window Management Service Module (MagicWindowManagerService) for processing, so that it changes the wallpaper that is currently being displayed on the in-vehicle desktop.
[0168] Different from Figure 8 the process of setting the wallpaper shown in (a) therein, Figure 8 in the scenario where the wallpaper change operation shown in (b) therein needs to perform wallpaper blurring, it is necessary to first clear the old wallpaper through the Wallpaper Blur Management Module (MagicWallpaperBlurController), and then set the new wallpaper, so as to implement the process of wallpaper replacement.
[0169] It should be understood that the above processes of wallpaper setting and wallpaper change only involve blurring the set or changed wallpaper, rather than the process of display.
[0170] Therefore, in some embodiments of the present application, the parallel window manager (MagicWindowManager) may further be provided with a task processing module (TaskEX). As Figure 8 shown in (c) below, after the parallel window management service module (MagicWindowManagerService) receives an instruction to set or change the wallpaper, it may send an instruction to load the wallpaper to the task execution module (Task), and then the task execution module (Task) loads the wallpaper through the task processing module (TaskEX) to call the wallpaper module (MagicWallpaper) to update the display background of the in-vehicle desktop.
[0171] Furthermore, in order to enable the wallpaper processed by the wallpaper blur management module (MagicWallpaperBlurController) to be displayed, the wallpaper module (MagicWallpaper) may, after receiving an update to the display background, set a blur layer in the background of the in-vehicle desktop, and then write the wallpaper to the virtual screen, i.e., the in-vehicle desktop. The wallpaper module (MagicWallpaper) may also obtain a wallpaper screenshot corresponding to the display window from the wallpaper blur management module (MagicWallpaperBlurController), so as to display the wallpaper on the in-vehicle desktop.
[0172] As Figure 9 shown in (a) and (b) below, the wallpaper can be replaced through the in-vehicle device terminal, so as to cover the display windows that are not actively displayed in the target display mode with a blurred wallpaper, thereby improving the aesthetics of the display.
[0173] It should be understood that during the display process of the wallpaper, it is necessary to determine the display window of the background wallpaper according to the first configuration information, as well as the position and size of the display window first called during the application execution process, so as to avoid covering the application to be displayed. Then, the background wallpaper is displayed in at least one display window. The first configuration information can be obtained through the following step S400, and in a scenario where multiple applications are simultaneously displayed, the display window of the background wallpaper can be adaptively reduced or the background wallpaper is not displayed.
[0174] Similarly, when changing the wallpaper, the parallel window manager (MagicWindowManager) can respond to the wallpaper change, update the wallpaper settings, then change the background wallpaper according to the updated wallpaper settings, and finally display the updated background wallpaper through the display window. It should be noted that the above process of setting and changing the background wallpaper is only a feasible implementation manner in this application. In actual application, the background wallpaper can also be set and changed in other ways, which will not be elaborated in this application.
[0175] In the embodiment of this application, the background wallpaper is displayed using the display window on the in-vehicle desktop that is not occupied by applications. Therefore, when all the display windows on the in-vehicle desktop are called by applications, the background wallpaper may not be displayed on the in-vehicle device.
[0176] S400: Determine the first configuration information of the target display mode based on the first screen information.
[0177] Among them, the first configuration information includes the set position and size of the window of the displayed application, and the target display mode is also a synonym for split-screen display within the application, that is, the target display mode is the parallel vision mode.
[0178] As Figure 7 shown, after receiving the message of successful connection of the in-vehicle device, the parallel vision management module can send a message of successful connection to the parallel vision module, so as to inform the parallel vision module of the current connection status. On this basis, the parallel vision management module can also calculate the display window of the parallel vision mode, so as to obtain the configuration of the basic display window of the parallel vision mode. Among them, the parallel vision module is a module that provides services for the target display mode for applications. In the embodiment of this application, the parallel vision module can be the parallel window manager (MagicWindowManager) called by the parallel vision management module.
[0179] In some embodiments, the configuration information of the display window can be calculated according to the first screen information. Exemplarily, the parallel vision mode includes two display windows. Therefore, in the process of calculating the configuration information, the display area of the in-vehicle screen can be divided into two areas of the same size to be used as the first window and the second window respectively for displaying applications in subsequent steps.
[0180] Figure 10 This is a schematic diagram of the display of an in-vehicle desktop in the embodiment of this application. Refer to Figure 10, when the in-vehicle screen displays content, a navigation bar is often set, that is, the dock area is used to guide user operations. However, in some embodiments, the navigation bar on the in-vehicle screen is drawn and implemented through the view function in the Android system, and the area drawn by the view belongs to an independent area in the desktop and cannot be moved or eliminated by means such as page insertion. Therefore, under the condition that the in-vehicle desktop is a virtual screen, the display window in the parallel vision mode needs to avoid the navigation bar to prevent the display content in the display window from being blocked.
[0181] Exemplarily, before determining the first configuration information based on the first screen information, the position and size of the navigation bar on the in-vehicle desktop can be obtained through the parallel window configuration module (MagicWindowConfig), so as to determine the area that the display window needs to avoid. Therefore, after obtaining the configuration information of the navigation bar, the size and position of at least two display windows can be determined based on the position, size of the navigation bar and the first screen information, and the size and position of at least two display windows can be used as the first configuration information, so that the parallel vision module can make corresponding settings.
[0182] In some embodiments of the present application, the parallel mode basic module (MagicModeBase) can be used to store the window configuration information obtained by the parallel vision module for easy calling during the application display process.
[0183] It should be noted that the target display modes stored in the parallel mode basic module (MagicModeBase) can include a variety of different modes, such as a target display mode composed of two display windows, a target display mode composed of three or more display windows. Among them, the display positions and boundaries of different display windows can also distinguish the target display modes. Taking the target display mode with two display windows as an example, the first window is set on the left side of the in-vehicle desktop, and the second window is set on the right side of the in-vehicle desktop. The target display mode can have three modes: the sizes of the first window and the second window are equal, the size of the first window is larger than the size of the second window, and the size of the first window is smaller than the size of the second window.
[0184] Among them, in the target display mode with at least two display windows, the at least two display windows do not intersect, so as to display at least two interfaces in an application respectively.
[0185] It should be understood that for the target display mode stored in the parallel mode base module (MagicModeBase), the size of the display window on the in-vehicle desktop also needs to be set according to the window size of the in-vehicle desktop. The terminal device can obtain the window size of the in-vehicle desktop by reading the device information of the in-vehicle device. Among them, the device size of the in-vehicle screen of the in-vehicle device can determine the overall display size of the in-vehicle desktop shown. Therefore, by obtaining the first screen information of the in-vehicle screen, the window size of the in-vehicle desktop can be calculated.
[0186] After calculating the window size of the in-vehicle desktop through the first screen information, the setting position and size of the display window for different applications in the target display mode can be calculated according to the window size of the in-vehicle desktop. Among them, different applications can correspond to different numbers and / or different sizes of display windows.
[0187] After obtaining information such as the number, setting position, and size of the display window, the first configuration information can be updated according to the obtained information. It should be understood that the number, setting position, and size of the display window obtained through the above method can be stored as a mode in the parallel mode base module (MagicModeBase) respectively in the target display mode. So that when the in-vehicle desktop is displayed, the mode switching module (MagicModeSwitcher) reads the corresponding mode and sets and updates the data of the display window in the mode through the window mode management module (MagicModeA1An).
[0188] S500: Detect a click operation on the application icon on the in-vehicle desktop.
[0189] After the in-vehicle device is successfully connected to the terminal device and the in-vehicle desktop is displayed on the in-vehicle screen, the in-vehicle desktop can detect the click operation of the user, so as to respond to the click operation of the user in a timely manner, so that the user can control the in-vehicle desktop.
[0190] As Figure 7 shown, when the in-vehicle desktop detects that any application icon is clicked, an application notification is started and sent to the parallel vision management module. Among them, the application notification includes the information of the first application corresponding to the application icon, so as to judge the status of the application through the parallel vision management module and determine whether to display the first application in the target display mode through the parallel vision module. Exemplarily, when the result detected by the parallel vision management module is that the first application supports the target display mode, step S600 is executed.
[0191] Figure 11 It is a schematic diagram of the process of starting an application in an embodiment of the present application.
[0192] As Figure 11As shown, in some embodiments, when the in-vehicle device detects that any application icon displayed on the in-vehicle desktop is clicked by the user, the Parallel Window Manager (MagicWindowManager) can start the task of the activity corresponding to the application by calling some functional modules. Exemplarily, functional modules such as the Activity Task Management Service Module (ActivityTaskManagerService), the First Activity Starter (xxActivityStarter), the Second Activity Starter (ActivityStarter), the Parallel Window Management Service Module (MagicWindowManagerService), and the Parallel Activity Trigger (MagicActivityStarter) can be called to achieve the start and decision-making after the first application is clicked.
[0193] First, after the in-vehicle desktop detects an operation that any application icon from the in-vehicle device is clicked, the in-vehicle desktop can send the message that the application icon is clicked and the information of the first application corresponding to the clicked application icon to the Activity Task Management Service Module (ActivityTaskManagerService) to start the activity to be started in the first application.
[0194] At the same time, the in-vehicle desktop can also send a notification to the in-vehicle parallel vision management module to notify it of the first application to be started and its corresponding package name. Among them, the package name is the software name under the application directory and is named according to the rule of reversing the domain name, such as the form of com.xx.xxx.xxxx. In this way, the corresponding name can be notified, so that the in-vehicle parallel vision management module can make a decision on whether the application is started in the target display mode.
[0195] After the in-vehicle parallel vision management module completes the decision-making, it can send the support status of the first application for the target display mode to the Parallel Window Management Service Module (MagicWindowManagerService), and notify the Parallel Activity Trigger (MagicActivityStarter) of the support status of the first application for the target display mode through the Parallel Window Management Service Module (MagicWindowManagerService).
[0196] After receiving the instruction to start the activity of the first application, the Activity Task Management Service Module (ActivityTaskManagerService) calls the specified user start instruction (startActivityAsUser) in the Android system to start an activity corresponding to the first application and run it as the activity of the specified user. Usually, without other operations or prior settings, the specified user can be the current user.
[0197] Subsequently, the ActivityTaskManagerService will send an execute signal to the xxActivityStarter, so as to perform thread allocation and lifecycle change on the activity corresponding to the first application through the interaction of the execute signal and the executeRequest signal between the xxActivityStarter and the ActivityStarter.
[0198] After the activity corresponding to the first application is created, the ActivityStarter calls the startActivityUnchecked instruction to detect the startability of the activity, avoiding the situation where the activity cannot be started and enabling the activity to be started smoothly. Then it calls the startActivityInner instruction to perform stack management on the activity to be started, so that the activity can be displayed smoothly.
[0199] The ActivityStarter sends the started activity to the MagicWindowManagerService so that it can perform the performMagicWindowPolicy on the activity to be started.
[0200] Finally, the MagicWindowManagerService sends the activity to the MagicActivityStarter to override the window information corresponding to the activity (overrideIntentForMagicWin), so that the activity is the activity corresponding to the target display mode.
[0201] If it is obtained that the first application supports the target display mode, the MagicActivityStarter will decide to start the application in the target display mode and display the started activity.
[0202] It should be understood that the implementation process of the above application starting in the target display mode in response to the user's click is only a feasible implementation manner in the embodiments of the present application, and the present application does not limit the process of the application starting in response to the user's click.
[0203] In some embodiments of the present application, after the parallel activity trigger (MagicActivityStarter) decides to start the application in the target display mode, the second activity starter (ActivityStarter) can send the activity corresponding to the application to be started to the task execution module (Task), so that the task execution module (Task) can execute the activity of the application.
[0204] Exemplarily, the task execution module (Task) may include a stack. The second activity starter (ActivityStarter) sends a command to the task execution module (Task), and the activity of the application can be pushed onto the top of the stack, so that when the terminal device displays the activity, the activity at the top of the stack can be displayed.
[0205] Then, the starting window control module (StartingSurfaceController) can obtain the activity to be displayed from the task execution module (Task), and then control the in-vehicle desktop to display the corresponding starting window interface. As Figure 11 shown, the starting window control module (StartingSurfaceController) can also send an instruction to display the start window to the activity record module (ActivityRecord) to record and update the status of the activity.
[0206] In the embodiments of the present application, the activity record module (ActivityRecord) is used to record the activity, that is, the basic information of the Activity and subsequent changes. Each operation on the activity in the terminal device can send the corresponding operation information to the activity record module (ActivityRecord), so that the activity record module (ActivityRecord) can record the changes of the activity.
[0207] In another part of the embodiments of the present application, the activity record module (ActivityRecord) can be connected to the second activity starter (ActivityStarter) to call the activity record module (ActivityRecord) to record the basic information and status of the activity after the second activity starter (ActivityStarter) starts the activity, so as to realize the call and implementation of the activity record module (ActivityRecord).
[0208] S600: When the first application corresponding to the application icon supports the target display mode, display the first application on the in-vehicle desktop in the target display mode.
[0209] As described in the implementation manner in the foregoing step S500, when it is detected that the first application corresponding to the application icon supports the target display mode, the first application is displayed on the in-vehicle desktop in the target display mode. Exemplarily, as Figure 11 shown, the second ActivityStarter can be used to call the permission detection instruction (startActivityInner) to enable the MagicWindowManagerService to obtain the support status of the first application for the target display mode, and then determine the display manner of the first application according to the support status of the first application for the target display mode.
[0210] Figure 12 FIG. is a schematic diagram of the display of the function switch in the embodiment of the present application.
[0211] In some embodiments of the present application, the application is also provided with a function switch to enable the user to select whether the application can be in the target display mode through the function switch. As Figure 12 shown in (a) and (b), they are respectively schematic diagrams of the display of the function switch in the vehicle-mounted terminal and the terminal device. As Figure 12 shown, the function switches in the vehicle-mounted terminal and the terminal device are both in the on state. The function switch includes a switch for turning on or off the target display mode corresponding to the first application, and may also include switches for turning on or off the target display mode corresponding to other applications.
[0212] It should be understood that when the function switch is in the on state, if the application corresponding to the function switch supports the target display mode, it can be displayed on the in-vehicle desktop in the target display mode; and if the function switch is in the off state, even if the application corresponding to the function switch supports the target display mode, it can only be displayed on the in-vehicle desktop in the full-screen mode.
[0213] Figure 13 FIG. is a schematic flowchart when the function switch is on in the embodiment of the present application. Figure 14 FIG. is a schematic flowchart of another application startup in the embodiment of the present application.
[0214] As Figure 13 shown, the MagicWindowManager can also control the function switch of the application in the user terminal device through the MagicWindowManagerEx.
[0215] Exemplarily, the in-vehicle screen or display screen 193 can be used to detect the user's click on the function switch displayed in the in-vehicle desktop or terminal device, so as to update the state of the function switch. Then, according to the original state of the function switch, the function switch clicked by the user is turned on or off. If the original state of the function switch is the on state, the function switch is in the off state after the user clicks. If the original state of the function switch is the off state, the function switch is in the on state after the user clicks.
[0216] It should be understood that the aforementioned user's click on the in-vehicle screen or display screen 193 is a single valid click, that is, the click is captured by the in-vehicle screen or display screen 193. Since multiple clicks will cause the function switch to cycle between the on and off states, in some embodiments, the original state of the function switch, the user's click position, and the number of clicks can be used to obtain the state of the function switch. Taking the function switch being in the off state as an example, if the number of clicks is an even number, the off state is maintained. If the number of clicks is an odd number, the state of the function switch is modified to the on state.
[0217] In some embodiments, the frequent opening and closing of the function switch can also be reduced by restricting the collection of click operations. The above operations on the function switch are exemplary descriptions in this application. There may be other operation methods specifically, and this application does not limit this.
[0218] Taking the function switch of the second application being in the off state as an example, the second application can be any application in the terminal device. When it is detected that the user updates the state of the function switch by clicking, that is, when the function switch of the second application is turned on, the in-vehicle desktop setting module can notify the in-vehicle parallel vision management module of the message that the function switch has been clicked, so as to use the in-vehicle parallel vision management module to call the window management listener (MagicWindowManagerEx) and send it a message of switch state update.
[0219] After receiving the message of switch state update, the window management listener (MagicWindowManagerEx) can obtain the state of the function switch, and then call the switch start instruction and send it to the parallel window management service module (MagicWindowManagerService).
[0220] The parallel window management service module (MagicWindowManagerService) modifies the status of the function switch by executing the switch startup instruction, and then sends the result of the execution instruction to the parallel window configuration module (MagicWindowConfig) so that the configuration module updates the application configuration information it stores. Finally, the updated application configuration information is written through the configuration loading module (MagicWindowConfigLoader), thus completing the process of turning on the function switch of the application from off to on.
[0221] It should be understood that the process of turning off the function switch of the application from on to off is similar to the process of turning on the function switch of the application from off to on described above. The difference is that the instruction called by the window management listener (MagicWindowManagerEx) is the switch off instruction, and the switch off instruction is sent to the parallel window management service module (MagicWindowManagerService) for subsequent processing, which is not elaborated in this application.
[0222] From the above content, it can be seen that the status of the function switch of the first application also affects whether the application can be displayed in the target display mode. Therefore, in the embodiments of this application, as Figure 14 shown, after detecting the click operation of the user on the application icon on the in-vehicle desktop, the in-vehicle desktop can notify the message that the application icon is clicked to the parallel vision management module. The parallel vision management module obtains the second configuration information of the first application, where the second configuration information includes the support status of the first application for the target display mode and the status of the function switch of the first application, so that the parallel vision management module can obtain the support status of an application for the target display mode and the status of the function switch of the first application through the second configuration information.
[0223] After obtaining the above information, the display mode of the first application on the in-vehicle desktop can be obtained. Therefore, after obtaining the above information, if the first application supports the target display mode and the function switch is on, the parallel vision management module sends an instruction to display in the target display mode to the parallel vision module, so that the parallel vision module can display the first application on the in-vehicle desktop in the target display mode.
[0224] Figure 15 This is a schematic flowchart of starting the first application in the target display mode in the embodiments of this application.
[0225] In this embodiment, as Figure 15As shown, after the parallel activity trigger (MagicActivityStarter) enables the first application to start in the target display mode, the vehicle-mounted desktop setting module on the in-vehicle device can be used to notify the vehicle-mounted parallel vision management module to perform operations.
[0226] The vehicle-mounted parallel vision management module calls the window manager (MagicWinManager) and sends a message to the window manager (MagicWinManager) to update the display state of the application on multiple display windows by using the window manager (MagicWinManager).
[0227] Then the window manager (MagicWinManager) can send corresponding information to the mode container module (MagicContainer) to update the screen size of the parallel vision in the mode container module (MagicContainer).
[0228] Furthermore, after the mode container module (MagicContainer) updates the screen size of the parallel vision, it sends window update information to the parallel window configuration module (MagicWindowConfig). After receiving the window update information, the parallel window configuration module (MagicWindowConfig) reconfigures information such as the size, bounds, and position of the windows in the in-vehicle scenario to adapt the in-vehicle screen according to different applications. At the same time, it can also obtain the preset bounds of each window when connecting to the in-vehicle device in the parallel mode basic module (MagicModeBase) to provide configuration data for the window mode management module (MagicModeA1An).
[0229] After the window mode management module (MagicModeA1An) configures the activity bounds in the parallel mode basic module (MagicModeBase), the parallel mode basic module (MagicModeBase) can send the bounds data of the changed configured display window to the configuration container module (ConfigurationContainer) to update the configuration information.
[0230] As Figure 13 shown, in some embodiments of the present application, the parallel window configuration module (MagicWindowConfig) can also receive the application switch data through the parallel window management service module (MagicWindowManagerService) to update the state of the function switch of the application.
[0231] After the update configuration is completed, the window manager (MagicWinManager) can change the operation focus to the window displayed in the target display mode on the virtual screen. In the embodiment of the present application, the virtual screen is the in-vehicle desktop transmitted to the vehicle terminal through the connection management module. Therefore, the window manager (MagicWinManager) changes the operation focus to the in-vehicle desktop.
[0232] After the operation focus moves to the in-vehicle desktop, the mode switching module (MagicModeSwitcher) can set the window boundaries in the target display mode according to the number of activities corresponding to the first application. For example, if the target display mode of the first application corresponds to two activities, a target display mode with two windows, namely the first window and the second window, is set, and the specific boundaries of the first window and the second window can be obtained through the boundary information pre-stored in the mode.
[0233] Since the window boundaries corresponding to different applications may be different, after the mode switching module (MagicModeSwitcher) sets the target display mode corresponding to the first application, it sends an instruction to the window mode management module (MagicModeA1An) to enable it to obtain the target display mode and modify information such as the window position and size in the target display mode.
[0234] For example, after the user clicks on the application icon, based on the number of windows supported by the first application and the specific settings of the first application, the window mode management module (MagicModeA1An) can select the mode corresponding to the first application from the stored target display modes to set the window boundaries of the first application.
[0235] Among them, the window mode management module (MagicModeA1An) can read the stored target display mode in the parallel mode basic module (MagicModeBase). At the same time, since the target display mode is obtained based on the size of the in-vehicle desktop and the configuration information of the application, during the actual operation, the window position and size required by the activities launched by an application may be different from the mode called by the window mode management module (MagicModeA1An). Therefore, the window configuration information of the target display mode corresponding to the first application can be called in the parallel window configuration module (MagicWindowConfig) and the parallel mode basic module (MagicModeBase).
[0236] After the window mode management module (MagicModeA1An) obtains the window configuration information of the target display mode corresponding to the first application, it will also make a decision based on the window configuration information and the number of activities in the first application to determine the boundaries of each activity, that is, to determine the display position of each activity.
[0237] In order to save the switching time of the target display mode when the first application is clicked again in the subsequent process, after determining the display position and boundaries of each activity, the updated data can be sent to the parallel mode base module (MagicModeBase) for storage, and the configuration can be modified by the parallel mode base module (MagicModeBase).
[0238] In some embodiments of the present application, if the first application has been clicked multiple times, the parallel mode base module (MagicModeBase) will record the boundaries of the activities of the first application. Therefore, after the application icon corresponding to the first application is clicked again, the window mode management module (MagicModeA1An) can directly send a setting command for the target display mode to the parallel mode base module (MagicModeBase) to improve the operation efficiency.
[0239] It should be understood that the above mode calls and settings are all feasible implementation manners in the present application, and the specific call and setting manners of the mode in the present application are not limited.
[0240] Figure 16 It is a schematic flowchart of a process for modifying the display window configuration in an embodiment of the present application.
[0241] In some embodiments of the present application, after the parallel mode base module (MagicModeBase) obtains the data from the window mode management module (MagicModeA1An), the obtained window boundary data can be sent to the configuration container module (ConfigurationContainer). When the window boundary data changes, the configuration container module (ConfigurationContainer) will refresh each layer of the display window, so as to use the configuration container module (ConfigurationContainer) to refresh the configuration of the display window.
[0242] As Figure 16 shown, in the process of updating the configuration, first, the activity record module (ActivityRecord) can be used to determine whether to modify the configuration of the display window in the in-vehicle desktop, so as to avoid incorrect window display. Further, when the configuration of the display window is modified, the configuration call instruction (onConfigurationChanged) is used to determine whether it is necessary to reload the activity resources related to the orientation and other configuration features of the display window, so as to send the configuration information of the window to the window container module (WindowContainer).
[0243] When it is determined by the configuration call instruction that it is necessary to reload the activity resources related to the configuration, an instruction can be sent to the task execution module (Task) through the window container module (WindowContainer) so that it can reload the resources required for the display window and determine whether to update the wallpaper being displayed in the display window. If the wallpaper needs to be updated, the task execution module (Task) can send an instruction to the wallpaper module (MagicWallpaper) to update the background wallpaper of the display window.
[0244] It should be understood that the foregoing methods for application startup and configuration update are only one feasible implementation manner in this application. The processes of application startup and configuration update can also be implemented in other ways, and this application places no restrictions thereon.
[0245] S700: When the connection between the terminal device and the vehicle head unit is disconnected, turn off the in-vehicle desktop.
[0246] Figure 17 This is a schematic flowchart of a process after the connection between the terminal device and the vehicle head unit is disconnected in an embodiment of this application.
[0247] As Figure 17 shown, when the connection management module in the vehicle head unit intelligent interconnection product or the terminal device detects that the connection between the terminal device and the vehicle head unit is disconnected, the terminal device will turn off the in-vehicle desktop to stop the display on the vehicle head unit.
[0248] In some embodiments, when turning off the in-vehicle desktop, the terminal device can directly destroy the process running the in-vehicle desktop, thereby turning off the in-vehicle desktop and saving the process occupation in the terminal device.
[0249] Figure 18 This is a schematic flowchart of a process for turning off the display screen in an embodiment of this application.
[0250] As Figure 18 shown, the display screen 193 of the terminal device can be managed through the display screen management module to obtain its screen display status. When the display screen 193 times out and turns off the screen, that is, the screen display status is off, the visibility of the display screen 193 is updated through the display screen display module, so that the display screen of the terminal device stops displaying the first application.
[0251] Then, the display screen display module obtains the lock screen status of the terminal device through the lock screen module and detects the connection scenario between the terminal device and the vehicle head unit, so as to obtain the current status information of the terminal device.
[0252] If the display module of the display screen detects that the terminal device is in the locked screen state and the in-vehicle computer connection scenario, the visibility of the first application on the in-vehicle desktop is updated through the Parallel Window Management Service Module (MagicWindowManagerService). In this embodiment, when the terminal device is in the locked screen state and the in-vehicle computer connection state, the first application can continue to be displayed on the in-vehicle desktop.
[0253] If the terminal device is in the locked screen state but the in-vehicle computer connection state is disconnected, the display of the in-vehicle desktop on the in-vehicle computer side is stopped.
[0254] S800: Set the connection state of the target display service to the disconnected state.
[0255] The target display service is the Parallel Horizon service. As Figure 17 shown, after the terminal device closes the in-vehicle desktop, the connection management module can send a disconnection message to the Parallel Horizon management module to stop the operation of the Parallel Horizon management module and the Parallel Horizon module.
[0256] It should be understood that after the disconnection, the Parallel Horizon management module will send a disconnection message to the Parallel Horizon module that it can call, thereby stopping the Parallel Horizon service.
[0257] Based on the above technical solution, through the connection between the terminal device and the in-vehicle computer side, the applications displayed on the in-vehicle computer side can be better adapted to the in-vehicle screen of the in-vehicle computer side, and the application clicked by the user is displayed through the target display mode or the Parallel Horizon mode of splitting the screen within the application, thereby improving the user experience.
[0258] It can be understood that in order to implement the above functions, the above terminal device includes the corresponding hardware structure and / or software module for executing each function. Those skilled in the art should easily realize that, combined with the units and algorithm steps of each example described in the embodiments disclosed in this article, the embodiments of the present invention can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the way of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of this application.
[0259] The embodiments of the present application can divide the above terminal device into functional modules according to the above method examples. For example, each functional module can be corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of modules in the embodiments of the present invention is illustrative, only a logical function division, and there can be other division methods in actual implementation.
[0260] Figure 19 It is a schematic structural diagram of an application adaptation system in an embodiment of the present application.
[0261] Based on the foregoing application adaptation method, an embodiment of the present application further provides an application adaptation system. In some embodiments, the terminal device can implement corresponding functions through Figure 19 the hardware device shown. As Figure 19 shown, the application adaptation system can include: a display screen 1901, a memory 1902, a processor 1903, and a communication module 1904. Among them, devices such as the memory 1902, the processor 1903, and the communication module 1904 can be connected through one or more communication buses 1905, and the display screen 1901 can be connected to the memory 1902 and the processor 1903 through the communication module 1904.
[0262] In one embodiment, the display screen 1901 can include a display panel 19011 and a touch sensor 19012. Among them, the display panel 19011 is used to display images, and the touch sensor 19012 can transmit the detected touch operation to the processor 1903 through the communication module 1904 to determine the operation of the displayed application, and then provide a visual output related to the touch operation through the display panel 19011. The processor 1903 can include one or more processing units. For example, the processor 1903 can include an application processor, a modem processor, a graphics processor, an image signal processor, a controller, a video codec, a digital signal processor, a baseband processor, and / or a neural network processor, etc. Among them, different processing units can be independent devices or integrated in one or more processors. The memory 1902 is coupled to the processor 1903 and is used to store various software programs and / or multiple groups of instructions. The memory 1902 can include volatile memory and / or non-volatile memory. When the software programs and / or multiple groups of instructions in the memory 1902 are executed by the processor 1903, the terminal device implements the method steps in the above embodiments and their implementation manners.
[0263] Based on the foregoing application adaptation method, the present application also provides a terminal device, including: a display screen, a memory, and one or more processors; the display screen and the memory are coupled to the processor; wherein, computer program code is stored in the memory, and the computer program code includes computer instructions. When the computer instructions are executed by the processor, the terminal device executes the application adaptation method provided in the foregoing embodiments. The specific structure of the terminal device may refer to Figure 2 the structure of the terminal device shown in
[0264] The embodiments of the present application also provide a computer-readable storage medium. Instructions are stored in the computer-readable storage medium. When it runs on a computer, the computer is enabled to execute the methods in the above aspects.
[0265] The embodiments of the present application also provide a computer program product containing instructions. When it runs on a computer, the computer is enabled to execute the methods in the above aspects.
[0266] The embodiments of the present application also provide a chip system. The chip system includes a processor for supporting the above system to implement the functions involved in the above embodiments. For example, to generate or process the information involved in the foregoing application adaptation method. In a possible design, the chip system further includes a memory for storing the necessary computer instructions and data for the application adaptation system. The chip system may be composed of chips or may include chips and other discrete devices.
[0267] Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and brevity of description, only the above division of each functional module is used as an example. In actual applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
[0268] In several embodiments provided by the present application, it should be understood that the disclosed system / devices and methods can be implemented in other ways. For example, the system / device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point, the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces. The indirect coupling or communication connection of the system or unit can be in an electrical, mechanical or other form.
[0269] The unit described as a separation component may or may not be physically separated. The component shown as a unit may be a single physical unit or multiple physical units, that is, it may be located in one place or distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0270] In addition, each functional unit in various embodiments of the present application may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0271] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: USB flash drives, mobile hard disks, read only memory (ROM), random access memory (RAM), magnetic disks, or optical discs and other various media that can store program codes.
[0272] The above content is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. An application adaptation method, characterized in that, Applied to a terminal device, the method includes: Establish a screen mirroring connection with the in-vehicle device terminal; Obtain the first screen information of the in-vehicle device terminal; Start the in-vehicle desktop and display the in-vehicle desktop on the in-vehicle device terminal; Based on the first screen information, determine the first configuration information of the target display mode, where the first configuration information includes the set position and size of the window for displaying the application; Detect a click operation by the user on the application icon on the in-vehicle desktop; When the first application corresponding to the application icon supports the target display mode, display at least one interface of the first application on the in-vehicle desktop in the target display mode.
2. The application adaptation method according to claim 1, characterized in that: The determining the first configuration information of the target display mode based on the first screen information includes: Obtain the position and size of the navigation bar on the in-vehicle desktop; Based on the position and size of the navigation bar and the first screen information, determine the size and position of at least two display windows.
3. The application adaptation method according to claim 1, characterized in that: After detecting the click operation by the user on the application icon on the in-vehicle desktop, the method further includes: Obtain the second configuration information of the first application; According to the second configuration information, obtain the support status of the first application for the target display mode and the status of the function switch; The displaying at least one interface of the first application on the in-vehicle desktop in the target display mode when the first application corresponding to the application icon supports the target display mode includes: If the first application supports the target display mode and the function switch is turned on, display the first application on the in-vehicle desktop in the target display mode; the function switch includes a switch for turning on or off the target display mode corresponding to the first application.
4. The application adaptation method according to any one of claims 1 to 3, characterized in that: After starting the in-vehicle desktop and displaying the in-vehicle desktop on the in-vehicle device terminal, the method further includes: Obtain the wallpaper setting of the in-vehicle desktop by the user; According to the wallpaper setting, update the background wallpaper of the target display mode; After determining the first configuration information of the target display mode based on the first screen information, the method further includes: According to the first configuration information, obtain the display window of the background wallpaper; Display the background wallpaper in at least one of the display windows.
5. The application adaptation method according to claim 2, characterized in that: The determining the first configuration information of the target display mode based on the first screen information further includes: Calculate the window size of the in-vehicle desktop according to the first screen information; According to the window size of the in-vehicle desktop, calculate the set position and size of the display window when different applications are in the target display mode; According to the set position and size of the display window, update the first configuration information.
6. The application adaptation method according to claim 3, characterized in that The method further includes: Detect a click by the user on the function switch displayed on the in-vehicle desktop or the terminal device; Turn on or off the function switch; Update the second configuration information according to the status of the function switch.
7. The application adaptation method according to claim 4, wherein The method further includes: In response to a wallpaper change, update the wallpaper setting; Change the background wallpaper according to the updated wallpaper setting; Display the updated background wallpaper in the display window.
8. The application adaptation method according to claim 1, wherein If the screen display state of the terminal device is off, stop displaying the first application on the display screen of the terminal device; Obtain the status information of the terminal device; If the terminal device is in the locked screen state and the in-vehicle head unit connection state, update the visibility of the first application on the in-vehicle desktop.
9. The application adaptation method according to claim 1, wherein The method further includes: When the terminal device is disconnected from the in-vehicle head unit, turn off the in-vehicle desktop; Set the connection state of the target display service to the disconnected state.
10. A terminal device, characterized in that, Includes: A display screen, a memory, and one or more processors; the display screen, the memory are coupled to the processor; wherein, computer program code is stored in the memory, the computer program code includes computer instructions, when the computer instructions are executed by the processor, the terminal device is caused to execute the application adaptation method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Method for displaying UI assembly and electronic equipment
CN112231025A
Screen projection method and device, electronic equipment and computer readable storage medium
CN114489533A
Screen projection method and related device
CN115373778A
Task migration system and method
CN115408119A
System-Independent User Interface Framework
US20220197675A1