Multi-screen electronic device and use method for multi-screen electronic device

By introducing the concept of multi-user space in multi-screen electronic devices, each screen corresponds to a front-end user space, solving the problems of user data isolation and mutual non-interference in multi-screen devices, realizing independent use and efficient data isolation, and improving user experience.

WO2025131002A1PCT designated stage expired Publication Date: 2025-06-26HUAWEI TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/140750
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-22
Filing Date
2024-12-19
Publication Date
2025-06-26

AI Technical Summary

Technical Problem

How to achieve independent use of each screen in multi-screen electronic devices, ensuring that different users do not interfere with each other when using each screen and data are isolated from each other.

Method used

By introducing the concept of multi-user space in multi-screen electronic devices, each screen corresponds to a front-end user space, allowing each screen to be used independently and does not interfere with each other. The specific implementation method includes displaying a different user interface on each screen and managing multiple user spaces through processing chips to ensure data isolation.

Benefits of technology

It realizes the independent use of multi-screen electronic devices without the need for customized applications or complex data isolation, which improves the user experience and ensures that the data of different users are isolated from each other.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024140750_26062025_PF_FP_ABST
    Figure CN2024140750_26062025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present application are a multi-screen electronic device and a use method for the multi-screen electronic device. In the method, the electronic device can create a plurality of different user spaces on the basis of a multi-user space mechanism, and can access the different user spaces by means of different screens, such that data generated when different users use different screens is naturally isolated along with the user spaces. Moreover, by means of the method, the number of foreground user spaces is further increased, and each screen corresponds to one foreground user space, such that the screens can be independently used and do not interfere with each other.
Need to check novelty before this filing date? Find Prior Art

Description

Multi-screen electronic device and method of using multi-screen electronic device

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on December 22, 2023, with application number 202311788486.5 and application name “Multi-screen electronic device, method for using multi-screen electronic device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of terminal technology, and in particular to multi-screen electronic devices and methods for using multi-screen electronic devices. Background Art

[0003] With the advancement of chip and screen manufacturing technologies, the use of a single, powerful chip to connect multiple screens is becoming increasingly popular. For example, multiple screens in a car share a single chip, and multiple appliances with screens in a smart home share a single chip. Compared to using separate chips for each screen, a single chip with multiple screens reduces costs. Furthermore, the shared operating system allows for efficient data sharing among multiple screens.

[0004] Single-chip multi-screen devices support independent use by multiple users (natural persons). How to ensure that multiple users do not interfere with each other when using the screen and that the data of each user is isolated from each other is a problem that needs to be solved. Summary of the Invention

[0005] This application provides a multi-screen electronic device and a method for using the multi-screen electronic device, which supports independent use of each screen without interfering with each other.

[0006] In a first aspect, a method for using a multi-screen electronic device is provided, which is applied to an electronic device including a first screen and a second screen. The method may include: displaying the user interface of a first application in a first user space on the first screen, and displaying the user interface of the first application in a second user space on the second screen; displaying the user interface of the second application in a third user space on the first screen, and continuously displaying the user interface of the first application in the second user space on the second screen.

[0007] When implementing the method of the first aspect, each screen corresponds to a foreground user space, so that each screen can be used independently without interfering with each other, which is specifically reflected in: 1. Different users can use the same application on different screens, and the two do not interfere with each other; 2. When the electronic device switches the foreground user space of the first screen, the foreground user space of the second screen is not affected. During this process, the foreground user space of the second screen (i.e., the second user space) can continue to run, and the second screen can continue to display the original user interface. The method scheme of the first aspect can realize the independent use of different screens conveniently, simply, and at low cost, without the need for customized applications or complex data isolation in the task dimension. This solution can make the use of multi-screen electronic devices more user-friendly and enhance the user experience.

[0008] In conjunction with the first aspect, in some embodiments, the first application in the first user space and the first application in the second user space have the same package name. Optionally, in some embodiments, the application icons and application names of the two may also be the same.

[0009] In combination with the first aspect, in some implementations, the first application in the first user space and the first application in the second user space are both installed based on the same installation package.

[0010] In conjunction with the first aspect, in some embodiments, the electronic device further includes a processing chip, and the first user space, the second user space, and the third user space run on the same processing chip. In this way, the multi-screen independent use solution of the present application is implemented based on the same processing chip, eliminating the need for multiple processing chips and thus saving costs.

[0011] In conjunction with the first aspect, in some embodiments, before the first screen displays the user interface of the first application installed in the first user space and the second screen displays the user interface of the first application installed in the second user space, the method may further include: the electronic device receives a power-on operation; first not displaying the second desktop on the second screen, then displaying the first desktop on the first screen and the second desktop on the second screen; wherein the application icons displayed on the first desktop correspond to applications installed in the first user space, and the application icons displayed on the second desktop correspond to applications installed in the second user space. This avoids the situation where the second screen enters the desktop before the first screen, and provides a better user experience.

[0012] In combination with the previous embodiment, the second screen may not display the second desktop first in the following ways: first display a pure black page or a page close to pure black on the second screen, or first not power on the second screen.

[0013] In conjunction with the first aspect, in some embodiments, after the second screen continuously displays the user interface of the first application in the second user space, the method may further include: displaying the user interface provided by the first user space on the second screen; wherein the number of applications provided by the first user space on the second screen is less than the number of applications provided by the first user space on the first screen. That is, when different screens access the same user space, the accessible content varies. This enables personalized permission management on different screens.

[0014] In conjunction with the first aspect, in some embodiments, after the second screen continuously displays the user interface of the first application in the second user space, the method may further include: displaying the user interface of the first application in the first user space on the second screen; wherein the functions provided by the first application in the first user space on the second screen are fewer than the functions provided by the first application in the first user space on the first screen. That is, when different screens access the same application in the same user space, the functions provided by the application may be different. This enables personalized permission management on different screens.

[0015] In combination with the first aspect, in some embodiments, before the first screen displays the user interface of the first application in the first user space and the second screen displays the user interface of the first application in the second user space, the method may further include: storing the correspondence between the first screen and the first user space, and storing the correspondence between the second screen and the second user space. Before the first screen displays the user interface of the second application in the third user space and the second screen continues to display the user interface of the first application in the second user space, the method may further include: updating the correspondence between the first screen and the first user space to the correspondence between the first screen and the third user space. This is equivalent to the electronic device storing the correspondence between the screen and the foreground user space of the screen, which makes it easier for the electronic device to manage each screen.

[0016] In combination with the previous embodiment, the correspondence between the screen and the user space stored in the electronic device may be stored in a data structure called DisplayTopUserMap.

[0017] In conjunction with the first aspect, in some embodiments, before the first screen displays the user interface of the first application in the first user space, the method may further include: determining the screen type of the first screen where the first user space is located; and, based on the screen type of the first screen, determining the application provided by the first user space on the first screen, or determining the function provided by the first application in the first user space on the first screen. This facilitates permission management on different screens.

[0018] In combination with the previous embodiment, the electronic device may determine the screen type of the first screen where the first user space is located by calling the getDisplayTypeByUser interface.

[0019] In combination with the first aspect, in some embodiments, before the first screen displays the user interface of the first application in the first user space, the method may also include: determining whether the first user space is the foreground user space of the first screen; if so, starting the activity of the first application in the first user space and drawing the window of the first application.

[0020] In combination with the previous embodiment, the electronic device can determine whether the first user space is the foreground user space of the first screen by calling the isDisplayTopUser interface.

[0021] In combination with the first aspect, in some embodiments, after the first screen displays the user interface of the first application in the first user space, the second screen displays the user interface of the first application in the second user space, and before the first screen displays the user interface of the second application in the third user space, the method may also include: switching the foreground user space of the first screen from the first user space to the third user space.

[0022] In combination with the previous embodiment, the electronic device can switch the foreground user space of the first screen from the first user space to the third user space by calling the switching interface of currentUser.

[0023] In combination with the first aspect, in some embodiments, after the user interface of the second application in the third user space is displayed on the first screen and the user interface of the first application in the second user space is continuously displayed on the second screen, the method may further include: swapping the third user space running in the foreground of the first screen and the second user space running in the foreground of the second screen.

[0024] In combination with the previous embodiment, the electronic device can swap the foreground user space of the first screen with the foreground user space of the second screen by calling the swapUsersBetweenDisplay interface.

[0025] In combination with the first aspect, in some embodiments, after the first screen displays the user interface of the second application installed in the third user space, and the second screen continues to display the user interface of the first application installed in the second user space, the method may also include: switching the foreground user space of the second screen from the second user space to the fourth user space.

[0026] In combination with the previous embodiment, the electronic device can switch the foreground user space of the second screen from the second user space to the fourth user space by calling the switchUserToDisplay interface.

[0027] In combination with the first aspect, in some embodiments, the first screen is a central control screen in the vehicle, and the second screen is a passenger screen or a rear screen in the vehicle.

[0028] In combination with the first aspect, in some embodiments, before the user interface of the first application in the first user space is displayed on the first screen and the user interface of the first application in the second user space is displayed on the second screen, the method may further include: logging in to the first account on the first screen and logging in to the second account on the second screen; before the user interface of the second application in the third user space is displayed on the first screen, the method may further include: switching the account logged in on the first screen from the first account to the third account.

[0029] In combination with the previous embodiment, the first account is an account corresponding to the first user space, the second account is an account corresponding to the second user space, and the third account is an account corresponding to the third user space.

[0030] According to a second aspect, an electronic device is provided, comprising one or more processors, one or more memories, a first screen, and a second screen; wherein the first screen, the second screen, the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, and the computer program code includes computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the method provided in the first aspect or any one of the embodiments of the first aspect.

[0031] In a third aspect, a vehicle is provided, comprising the electronic device according to the second aspect.

[0032] In a fourth aspect, a computer-readable storage medium is provided, comprising instructions. When the instructions are executed on an electronic device, the electronic device executes the method provided in the first aspect or any one of the embodiments of the first aspect.

[0033] In a fifth aspect, a computer program product is provided. When the computer program product is run on a computer, the computer is caused to execute the method provided in the first aspect or any one of the embodiments of the first aspect.

[0034] In a sixth aspect, a chip system is provided, which includes one or more processors, and the processors are used to call computer instructions to execute the method provided in the first aspect or any one embodiment of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] 1A-1C illustrate three usage scenarios of a multi-screen electronic device;

[0036] FIG2 shows the relationship between the system user space, the user space of a natural person user, and the visitor space in an embodiment of the present application;

[0037] FIG3 shows the desktop displayed when different screens access the same user space in an embodiment of the present application;

[0038] FIG4 shows a process for creating a user space when a vehicle is powered on for the first time in an embodiment of the present application;

[0039] FIG5 shows a set of user interfaces displayed on two screens during use in an embodiment of the present application;

[0040] FIG6 shows the process of displaying the desktop on the central control screen and the co-pilot screen respectively when the vehicle is turned on for the first time in an embodiment of the present application;

[0041] FIG7 shows a process of starting an application by an electronic device in an embodiment of the present application;

[0042] FIG8 shows a process of drawing a window by an electronic device in an embodiment of the present application;

[0043] FIG9 shows the process of switching user spaces when a vehicle switches user spaces in an embodiment of the present application;

[0044] FIG10 shows the process of swapping the user space between two screens of a vehicle in an embodiment of the present application, as well as the process of switching the co-pilot screen to the foreground user space;

[0045] FIG11 is a flowchart of a method for using a multi-screen electronic device according to an embodiment of the present application;

[0046] FIG12 is a hardware structure block diagram of a non-vehicle electronic device provided in an embodiment of the present application;

[0047] FIG13 is a hardware structure block diagram of a vehicle-type electronic device provided in an embodiment of the present application;

[0048] FIG14 is a software architecture of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] The technical solutions in the embodiments of the present application will be described clearly and in detail below with reference to the accompanying drawings.

[0050] The electronic device provided in this application has multiple screens, and the multiple screens are connected to the same processing chip. The processing chip is used to perform operations such as calculations, receiving commands, storing commands, and processing data. It can also provide an operating system operating environment to support the electronic device to run an operating system and multiple user spaces on the processing chip. The operating system running on the processing chip can be The processing chip can integrate devices such as an application processor (AP), a graphics processing unit (GPU), a digital signal processor (DSP), an image signal processor (ISP), an audio signal processor (ASP), an image video processor (IVP), a baseband processor, a neural-network processing unit (NPU), and a microcontroller unit (MCU), and can also integrate some peripheral circuits.

[0051] The multiple screens of the electronic device can be located in the same space but at a certain distance from each other, or they can be located in different spaces, and this application does not limit their physical distance. The electronic device can be a vehicle with multiple screens, and the vehicle can include a central control screen between the main driver's seat and the co-driver's seat, a co-driver's screen in front of the co-driver's seat, a rear screen in front of the rear seats, and other screens, and the multiple screens are all located in the vehicle space. This application does not limit the size of the multiple screens, and the sizes of any two screens can be the same or different. The electronic device can also be a smart home appliance with multiple screens, and the multiple screens of the smart home appliance can be located in different rooms or in the same room. The electronic device can also be a desktop computer, a desktop computer with a touch-sensitive surface or touch panel, a smart screen, a laptop computer, a mobile phone, a tablet computer, and the like. For the sake of simplicity of description, the subsequent embodiments are all described using a vehicle with multiple screens as an example.

[0052] 1A-1C illustrate three usage scenarios of a multi-screen electronic device.

[0053] Figure 1A is a solution for customizing applications for different screens. As shown in Figure 1A, the desktop 11 of the central control screen displays icons of all applications installed in the vehicle, and the desktop 12 of the co-pilot screen only displays icons of some applications. In order to allow the "same application" to be started and used on both screens at the same time, the electronic device installs two applications, one for the central control screen and the other for the co-pilot screen. The icons and application names of the two applications are the same, such as icon 111 in the desktop 11 and icon 121 in the desktop 12, but the actual package names of the two applications are different. This gives users the feeling that they can use the "same application" on two screens without interfering with each other. This solution requires application vendors to customize applications with different package names but the same icons and names for different screens. When there are many screens or there are many applications connected to the co-pilot screen, the cost will also be correspondingly high.

[0054] Figure 1B shows a solution where a single application supports multiple tasks. Taking the operating system as an example, the pages displayed on the screen are managed at the task level. Multiple tasks form a task stack that the user can operate. Different screens can be placed in different task stacks. As shown in Figure 1B, An application can create multiple tasks with the same content in the same user space, then launch and display each task on a different screen. This ensures that users can use the same application simultaneously on different screens without interfering with each other. This solution requires application vendors to adapt their applications to support multiple concurrent tasks with the same content within a single application, and to isolate data for different users within the task dimension.

[0055] FIG1C is a scheme for implementing data isolation in multiple user spaces. A multi-user space mechanism is provided, and it is defined that there is only one user space (currentUser) in the foreground of the entire electronic device, and it is impossible to run the same application in different user spaces on different screens. To solve this problem, a mounting mechanism is provided, that is, to create a user space (such as user128, called profileUser) and mount it under a certain user space (such as user1). The status of profileUser and its host user are consistent, so that when the host user runs in the foreground, profileUser can also run in the foreground. For example, user1 can be run on the central control screen and user128 can be run on the co-pilot screen. In this way, the two screens run different user spaces and do not interfere with each other. However, if user1 on the central control screen retreats to the background, user128 on the co-pilot screen will also retreat to the background. Using this solution, the same application can be started and used on different screens at the same time without interfering with each other, but once the status of the host user changes, it will affect the profileUser status of the other screen.

[0056] The method for using a multi-screen electronic device and the electronic device provided in this application can solve the above problems. The method utilizes the mechanism of multiple user spaces, and the electronic device can create multiple different user spaces. Different user spaces can be accessed through different screens, and the data generated when different users use different screens are naturally isolated with the user space. In addition, the method also expands the number of foreground user spaces. Instead of the entire machine corresponding to one foreground space, each screen corresponds to a foreground user space, so that each screen can be used independently and does not interfere with each other. For example, starting an application, closing an application, operating an application, deleting an application, switching user spaces, etc. on one screen will not affect the operations on the other screen. The other screen can also start the same application or may not switch user spaces, that is, the two screens can be used completely independently. Two users can each use one screen without affecting their respective user experience.

[0057] The solution of this application can realize the independent use of different screens conveniently, simply and at low cost, without custom applications or complex data isolation in the task dimension. This solution can make the use of multi-screen electronic devices more user-friendly and improve the user experience.

[0058] Before introducing the solution provided by this application in detail, several important concepts involved in this application are introduced:

[0059] User space

[0060] User space is a collection of resources specifically allocated to electronic devices, including storage resources, computing resources, and the application runtime environment. User space can be used to install and run applications, and store data generated while using the electronic device (e.g., downloaded applications, and data generated during application use, such as chat logs and photos). Different user spaces are physically isolated from each other, allowing data within them to be isolated from each other.

[0061] The user space of this application may include at least the following three categories:

[0062] 1. User space for natural person users

[0063] There can be a one-to-one correspondence between users and user spaces, and user spaces can be marked by user accounts. The electronic device creates an account and a corresponding user space for the user. When the user subsequently logs in to the account, the electronic device will call the user space to provide services to the user, such as displaying the icons of the applications installed in the user space, storing the user's chat history or photos taken in the user space, etc. Different users use electronic devices based on different accounts. When electronic devices switch accounts, they use different user spaces to provide services. The user space of a natural person user can only be accessed through an account. The user space and account of a natural person user correspond one-to-one.

[0064] 2. Visitor Space

[0065] The Guest Space is not associated with any specific account and does not correspond to any specific individual user. It can be used by any user. The number of Guest Spaces on a device is equal to the number of screens, with each screen corresponding to one Guest Space. Accessing the Guest Space does not require an account.

[0066] 3. System user space

[0067] In addition to the user spaces provided to individual users, electronic devices also include a system user space (systemUser), denoted as user0. The system user space is an operating environment for various system services based on the application framework layer. It provides a collection of system services (systemservices) to the user spaces of other natural users and guest spaces. This provides underlying service support for the system user space. The system user space runs when the electronic device is booted.

[0068] Refer to Figure 2, which exemplifies the relationship between the system user space, the user space of natural users, and the guest space. As shown in Figure 2, the system user space (user0) serves as the underlying support for the remaining user spaces. The user spaces of natural users (such as user10, user11) and guest spaces (such as user100, user200) can all be provided to users. Users can access the corresponding natural user space on the screen through their accounts, and users can also access the guest space of the screen through the screen.

[0069] For electronic devices, user space can also be considered as a user (User). Here, a user refers to an account used by ordinary users (including natural users, guests, etc.). Electronic devices can distinguish different users (Users) by distinguishing different accounts.

[0070] The screen's foreground user space (DisplayTopUser)

[0071] The foreground user space refers to the user space in which the electronic device is started and runs in the foreground, and all the content displayed in the foreground on the screen is provided by the foreground user space.

[0072] and Compared to the native definition of the entire machine corresponding to a foreground user space (currentUser), this application newly adds the concept of the foreground user space of the screen. Each screen corresponds to a foreground user space, and different screens can correspond to different foreground user spaces. The foreground user space of a screen can be switched, that is, the original foreground user space is switched to the background, and then another user space is switched to the foreground.

[0073] In some embodiments, The natively defined foreground user space (currentUser) corresponding to the entire device can also be retained, and the foreground user space of the entire device is defined as the user space enabled by the main screen. This currentUser can also be switched. On this basis, the concept of a new foreground user space is added for each other screen. In this way, it is equivalent to each screen of the electronic device corresponding to a foreground user space.

[0074] Related interfaces of the screen's foreground user space

[0075] This application also adds related interfaces to the electronic device to support services related to the foreground user space of each screen, such as switching the foreground user space on the screen, managing the permission scope of the foreground user space on the screen, managing the application operation, window management, package management, voice services, etc. The types and specific functions of the above interfaces will be expanded in the subsequent method embodiments.

[0076] DisplayType

[0077] The electronic device of the present application is configured with multiple screens, and each screen can correspond to a screen type. For example, a vehicle may include a central control screen, a co-pilot screen, a rear screen 1, a rear screen 2, and other screen types.

[0078] An electronic device's multiple screens may include a main screen, with all other screens considered secondary screens. The main screen is typically the most frequently used screen. The main screen in a multi-screen setup can be pre-set. For example, the main screen in a car could be the central control panel, while the main screen in a smart home appliance could be the screen in the living room.

[0079] Based on the natural differences between the main and secondary screens, this application can set different permissions for the main and secondary screens, with the main screen permissions being greater than the secondary screen permissions. Different permissions for the main and secondary screens can be achieved by setting a whitelist for the secondary screen. The electronic device can pre-store a whitelist that indicates the applications that can be accessed on the secondary screen, as well as the functions that can be accessed within the applications. For example, the main screen permissions are unrestricted, while applications and functions outside the whitelist are inaccessible to the secondary screen.

[0080] Based on the different permissions of the main and secondary screens, when accessing the user space of the same natural person user through the main screen or the secondary screen, the accessible content is different, and the content accessible to the main screen is greater than the content accessible to the secondary screen. For example, all applications in the user space can be accessed through the main screen, while only part of the applications in the user space can be accessed through the secondary screen; or, all functions of a system application or a third-party application can be accessed through the main screen, while only part of the functions of the system application or the third-party application can be accessed through the secondary screen. For example, referring to Figure 3, when a user accesses the user space user10 through the central control screen in the vehicle, the central control screen desktop can display icons of system applications for managing the vehicle and icons of some third-party applications, while when accessing the user space user10 through the secondary driver's screen, the secondary driver's screen desktop cannot display icons of system applications for managing the vehicle, and can only display icons of some third-party applications. For another example, when a user accesses the settings application in the user space user10 through the central control screen of the vehicle, the settings application provides the ability to switch the system language, while when the user accesses the settings application in the user space user10 through the secondary driver's screen in the vehicle, the settings application does not provide the ability to switch the system language. This can prevent users using the passenger screen from affecting the driving safety of the vehicle and obtaining private data within the vehicle.

[0081] The main and secondary screens have different permissions, so the guest spaces on the main and secondary screens differ. For example, the main screen's guest space can host system apps and third-party apps, while the secondary screen's guest space can only host third-party apps. Alternatively, the main screen allows you to access all the features of a system app or third-party app installed in its guest space, while the secondary screen allows you to access only some of the same system app's features.

[0082] In some implementations, the electronic device can refresh the disablement and activation status of applications on each screen through a package management mechanism to implement different permissions for the primary and secondary screens.

[0083] The following describes how to use the multi-screen electronic device provided by this application.

[0084] Creating a user space

[0085] The electronic device can create user spaces for multiple natural users respectively, with one natural user corresponding to one user space.

[0086] The electronic device can also create multiple guest spaces, with one screen corresponding to one guest space, that is, the electronic device will create the same number of guest spaces as the number of screens.

[0087] The following uses a vehicle as an example to describe the process of creating a user space when the vehicle is first powered on. Referring to Figure 4, this process may include:

[0088] 1. Turn on the computer and power each screen.

[0089] 2. Start the system server (systemServer), which starts multiple system services (systemService).

[0090] SystemServer is the provider of basic services in electronic devices and the foundation for the operation of electronic device operating systems. The multiple systemServices it starts may include the activity management service (window manager service, AMS), the window management service (window manager service, WMS), the activity task management service (activity task manager service, ATMS), and the screen and user space management (HwMultiDisplayUserEx).

[0091] 3.systemServer starts the system user space user0.

[0092] 4. SystemServer notifies each system service that user0 has started, and each system service starts the business under user0.

[0093] 5. The display manager service (DMS) parses the screen configuration items.

[0094] The screen configuration item indicates information about the multiple screens included in the vehicle, including the number and type, as well as the size, location, etc.

[0095] After step 5, steps 6-17 and steps 18-24 can be executed simultaneously.

[0096] 6. The cockpit user center calls the user manager (userController) to create a new user space and starts the user space on the central control screen. This user space can be recorded as user10, for example.

[0097] The cockpit user center is an application in the vehicle that manages the mapping between users and user spaces. It can also be called other names, which are not limited here. The userController is the management module that actually creates and deletes user spaces and performs other operations on user spaces.

[0098] After creating user space user10 through the central control screen, the vehicle can install pre-installed applications within the central control screen's permission range in user10, such as some pre-installed system applications and third-party applications. The installation packages of these applications can be pre-installed in the vehicle.

[0099] 7. userController notifies each system service that user10 has started.

[0100] 8. userController notifies each observer that user10 has switched to the foreground of the central control screen. Observers can be defined by system applications and include the following three types of objects: system services (systemService), user space switch observers (UserSwitchObser), and other objects (others) notified via broadcasts.

[0101] 9. userController sends the userSwitchedToDisplay broadcast, which is used to indicate that user100 has switched to the foreground of the central control screen.

[0102] 10. The central control screen starts the out-of-box experience (OOBE). After OOBE determines that the current screen is the central control screen, it displays the user interface provided by OOBE on the central control screen.

[0103] The startup wizard is an application that guides users to set up some basic functions when the device is turned on for the first time.

[0104] The user interface provided by the OOBE displayed on the central control screen can guide the user to perform operations to set up basic functions. For example, the user interface can be a user interface that guides the user to log in, which can display prompt information for multiple login methods, such as scanning a code to log in, scanning a face to log in, entering an account and password to log in, etc. After the user selects a login method, he can enter his own account, such as a QR code, facial image, account and password generated based on the account. In some embodiments, a pressure sensor may be provided under the main driver's seat of the vehicle. After it detects pressure, the vehicle can start the camera in front of the main driver's seat and automatically scan the user's face to log in, simplifying user operations. Referring to Figure 5, the user interface a in the upper left corner of Figure 5 is an example of the user interface displayed by the OOBE of the central control screen.

[0105] 11. The vehicle obtains the user's account and logs in based on that account.

[0106] The login can be based on the user's registered account, or the user can register first and then log in.

[0107] 12. The vehicle determines whether the login is successful.

[0108] 13. If the login is successful, the cockpit user center will bind user10 to the user's account, and assign the created user10 to the user.

[0109] 14. The cockpit user center calls userController to create a new user space, uses this user space as the guest space of the central control screen, and starts the guest space. This user space can be recorded as user100, for example. The cockpit user center can associate and store the screen ID of the central control screen and the ID of user100.

[0110] After creating the guest space user100 for the central control screen, the vehicle can install pre-installed applications within the central control screen's permission scope in user100, such as some pre-installed system applications and third-party applications. The installation packages of these applications can be pre-installed in the vehicle.

[0111] After creating a guest space, you can start it immediately to speed up the subsequent switching from the natural person user space to the guest space on the central control screen.

[0112] 15. If the login is unsuccessful, the cockpit user center will mark user10 as the guest space of the central control screen.

[0113] After step 14 or step 15, step 16 may be performed.

[0114] 16. Use the cockpit user center to query the screen information in the vehicle.

[0115] 17. If there are other screens, after the OOBE boot process on the central control screen is completed, the desktop provided by user10 is displayed on the central control screen, and the cockpit user center is notified to turn on the screens other than the central control screen. User interface b in Figure 5 is an example of the desktop displayed on the central control screen after a successful login in step 15.

[0116] 18.DMS determines whether there is a passenger screen.

[0117] 19. If a passenger screen exists, the cockpit user center calls userController to create a new user space and uses this user space as the guest space for the passenger screen. This user space can be recorded as user200, for example. The cockpit user center can associate and store the screen ID of the passenger screen and the ID of user200.

[0118] After creating the guest space user200 for the co-pilot screen, the vehicle can install pre-installed applications within the co-pilot screen's permission scope in user200, such as some pre-installed third-party applications. The installation packages of these applications can be pre-installed in the vehicle.

[0119] 20. userController notifies each system service that user200 has started.

[0120] 21. userController notifies each observer that user200 has switched to the foreground of the passenger screen.

[0121] 22. userController sends the userSwitchedToDisplay broadcast, which is used to indicate that user200 has switched to the foreground of the co-pilot screen.

[0122] 23. The co-pilot screen starts OOBE. After OOBE determines that the current screen is the co-pilot screen, the co-pilot screen does not display the desktop first.

[0123] The co-pilot screen can be prevented from displaying the desktop in the following ways: first displaying a pure black page or a nearly pure black page on the co-pilot screen, or not powering on the co-pilot screen. User interface e in the upper right corner of Figure 5 is an example of a pure black page displayed on the co-pilot screen.

[0124] 24. After the OOBE boot process on the passenger screen completes, if the passenger screen receives a screen-on notification from the cockpit user center, the desktop provided by user200 will be displayed on the passenger screen. This ensures that the passenger screen is nearly identical to the main screen, or that the passenger screen displays the desktop later than the center console, preventing the passenger screen from entering the desktop before the center console. User interface f in Figure 5 shows an example of the desktop displayed on the passenger screen.

[0125] If the vehicle also includes one or more rear screens, steps similar to steps 18-24 can also be performed to create visitor spaces corresponding to the one or more rear screens.

[0126] Through the vehicle startup process shown in Figure 4, the vehicle creates guest spaces (user100 and user200) corresponding to each screen, and also creates a user space for a natural person (user10) through the central control screen. The data contained in each of these user spaces can be updated later based on user operations, such as installing more applications or deleting some.

[0127] Multiple user spaces created by an electronic device can install the same application program, and these same application programs can be installed based on the same application installation package. Therefore, the method provided in this application does not require additional customization of application programs for different user spaces.

[0128] When the vehicle is first powered on, the central control screen first displays the user interface guiding the user to log in, while the passenger screen does not display the desktop. Therefore, during the first power-up, user spaces for individual users can only be created on the central control screen, not on the other passenger screens. This ensures that during the first power-up, only the OOBE running on the central control screen is controlled by an individual, while the OOBE running on the passenger screens is not, thus ensuring vehicle data security.

[0129] Through the first boot process shown in Figure 4, if the judgment result of step 12 is yes, the foreground user space of the central control screen is user10, and if the vehicle includes a co-pilot screen, the foreground user space of the co-pilot screen is the guest space user200.

[0130] In addition to creating a user space for a natural person user through the initial startup process shown in FIG4 , a user space for a natural person user can also be created during subsequent startups or operations. When subsequently creating a user space for a natural person user, the user can be asked to enter an account number and a new user space can be created for the user. The order of the two is not limited; alternatively, an existing guest space can be occupied and updated to the user space of the user, and then a new guest space can be created. After the first startup, each screen of the vehicle can be powered on independently. The vehicle can create a user space through the central control screen or through the secondary screen. This application does not limit this.

[0131] Independent use of multiple screens

[0132] In this application, a screen can only access one user space at a time, and two screens cannot access the same user space at the same time. In other words, a screen can have at most one foreground user space, and a user space can only be accessed by one screen at a time.

[0133] In this application, a new data structure DisplayTopUserMap can be added to manage the mapping relationship between each screen and the foreground user space. The data structure can associate and store the ID of the screen and the ID of the foreground user space of the screen.

[0134] An electronic device can run different user spaces on different screens. For example, the first user space is run in the foreground of the first screen, and the second user space is run in the foreground of the second screen. That is, the DisplayTopUser of the first screen is the first user space, and the DisplayTopUser of the second screen is the second user space.

[0135] The first screen and the second screen are different. For example, the first screen may be the vehicle's central control screen, and the second screen may be the passenger screen, or vice versa.

[0136] The first user space and the second user space are different. The first user space can be the user space of a natural person user or the guest space of the first screen. The second user space can be the user space of a natural person user or the guest space of the second screen. This application provides the concept of a foreground user space of a screen. Each screen corresponds to a foreground user space, so the first screen and the second screen can each have a foreground user space, and the two foreground user spaces are different.

[0137] The following is a brief introduction of the situation:

[0138] 1. The first user space and the second user space are both user spaces of natural person users. For example, the first user space is user10 and the second user space is user11.

[0139] The electronic device can display a user login interface on the first screen, instructing the user to enter an account number. After obtaining the account number entered by the user, the electronic device checks whether a user space corresponding to the account number exists. If so, it accesses the user space. For the login method, please refer to the description of step 10 in Figure 4 above. The method for the electronic device to access the second user space on the second screen is similar to the method for accessing the first user space on the first screen, and will not be repeated here.

[0140] 2. The first user space is the guest space of the first screen, such as user100; the second user space is the guest space of the second screen, such as user200.

[0141] If the electronic device does not obtain the account number entered by the user through the first screen, or does not find the user space corresponding to the account number, the first screen's guest space can be accessed on the first screen. Similarly, if the electronic device does not obtain the account number entered by the user through the second screen, or does not find the user space corresponding to the account number, the second screen's guest space can be accessed on the second screen.

[0142] 3. The first user space is the user space of a natural person user, and the second user space is the guest space of the second screen. For example, the first user space is user10, and the second user space is user200.

[0143] 4. The first user space is the guest space of the first screen, and the second user space is the user space of the natural person user. For example, the first user space is user100, and the second user space is user11.

[0144] Since the first screen runs the first user space in the foreground and the second screen runs the second user space in the foreground, the two user spaces are naturally isolated. Based on the two isolated user spaces, users can use the two screens independently without interfering with each other, and the user data generated can also be isolated from each other. Specifically, one user can input various operations such as sliding and clicking on the first screen, and can also use the first screen to start the application in the first user space, close the started application, use the functions of the application in the first user space, etc. Another user can also input various operations such as sliding and clicking on the second screen, or use the second screen to start the application in the second user space, close the started application, use the functions of the application in the second user space, etc., without affecting each other. The data generated by the two users during the use of the screens, such as installed applications, chat records, photos taken, historical browsing records, etc., can be stored in their respective user spaces and isolated from each other. The following three scenarios illustrate the independent use of the two screens.

[0145] Scenario 1. Electronic devices enter different desktops on different screens.

[0146] For example, the electronic device displays a first desktop provided by a first user space on a first screen, and displays a second desktop provided by a second user space on a second screen.

[0147] If the first user space is a natural person user space, the first desktop may display icons of applications installed in the first user space and applications within the first screen's permission range. For example, if the first screen is a central control screen, the first desktop may display icons of all applications in the first user space.

[0148] Similarly, if the second user space is a natural person's user space, the second desktop may display icons for applications installed in the second user space that are within the second screen's permissions. For example, if the second screen is the passenger screen, the second desktop will only display icons for some applications in the second user space, and will not display icons for applications in the user space that involve system management.

[0149] If the first user space is the guest space of the first screen, the first desktop may display icons of application programs installed in the guest space.

[0150] Similarly, if the second user space is the guest space of the second screen, the second desktop may display icons of applications installed in the guest space.

[0151] If the electronic device is powered on for the first time, the process of displaying the desktop on two screens in Example 1 can also refer to step 17 and step 24 in FIG. 4 .

[0152] Figure 5 illustrates a first desktop and a second desktop. User interface b in Figure 5 is an example of the first desktop, and user interface f is an example of the second desktop. The two desktops display different application icons, but both include the same first application icon 501. The first application can be a system application or a third-party application.

[0153] Scenario 2: An electronic device runs the same application on different screens.

[0154] The electronic device can start an application in the user space running in the foreground of the screen through an entrance such as the desktop, control center interface, or pull-down notification bar displayed on the screen.

[0155] For example, the electronic device receives a user operation on the icon of the first application displayed on the first desktop and starts the first application in the first user space; the electronic device receives a user operation on the icon of the first application displayed on the second desktop and starts the first application in the second user space.

[0156] The first application in the first user space and the first application in the second user space are both installed based on the same application installation package in the electronic device. They have the same package name and may also have the same application icon and application name. The difference is that one is installed in the first user space and the other is installed in the second user space. In this way, different users can use the same application on different screens without interfering with each other. As shown in Figure 5, it also shows the user interface displayed when the same application is started on two screens. The first application can be a system application or a third-party application. Referring to c and g in Figure 5, the same application can be started on both the first screen and the second screen.

[0157] In some embodiments, if the first screen and the second screen are the primary screen and the second screen, respectively, the functions provided by the first application on the first screen and the second screen may be different. For example, the electronic device may display a user interface provided by the first application on the first screen, and the user interface supports all functions of the first application, while the electronic device may display a user interface provided by the first application on the second screen, and the user interface provided by the first application only supports some functions of the first application. In this way, considering the difference between the primary and secondary screens, the permissions of the same application on the two screens are differentiated, and the primary screen permissions are greater than the secondary screen permissions.

[0158] Scenario 3. An electronic device runs different applications on different screens.

[0159] For example, when the electronic device receives a user operation on the icon of a first application displayed on the first desktop, it launches the first application in the first user space; when the electronic device receives a user operation on the icon of a second application displayed on the second desktop, it launches the second application in the second user space. In this way, different users can use different applications on different screens.

[0160] Switching user space

[0161] When using electronic devices, there are many scenarios for switching user spaces, which are introduced one by one below.

[0162] Scenario 1. The electronic device switches the first user space running in the foreground of the first screen to the background, switches the third user space to the foreground of the first screen, and continues to run the second user space in the foreground of the second screen.

[0163] The electronic device can receive a user operation on the first screen to switch to the foreground user space, and access the third user space corresponding to the new account number entered by the user. This switches the first user space from the foreground of the first screen to the background, and switches the third user space to the foreground of the first screen.

[0164] Since the two screens each correspond to a foreground user space, there is no mounting relationship or similar relationship between the two foreground user spaces. When the electronic device switches the foreground user space of the first screen, the foreground user space of the second screen is not affected. During this process, the foreground user space of the second screen (i.e., the second user space) can continue to run and the second screen can continue to display the original user interface.

[0165] Referring to user interface d in FIG5 , it exemplarily shows the desktop displayed on the first screen after the electronic device switches the foreground user space of the first screen to the third user space; at the same time, user interface h shows the original user interface continuously displayed on the second screen at the same time.

[0166] Scenario 2: The electronic device switches the first user space to the foreground of the second screen.

[0167] The electronic device can receive a user operation on the second screen to switch to the foreground user space, and access the first user space on the second screen based on the account number corresponding to the first user space entered by the user. This switches the first user space from the foreground of the first screen to the foreground of the second screen, and switches the second user space to the background of the second screen.

[0168] At the same time, the first screen can enter the guest space; or, the first screen switches the second user space to the foreground, that is, the foreground user spaces of the first screen and the second screen are swapped; or, the user logs in to other natural person user spaces on the first screen.

[0169] After the electronic device switches the first user space to the foreground of the second screen, the desktop of the second screen can display icons of applications installed in the first user space that are within the permission scope of the second screen, and support the application functions within the permission scope of the second screen. For example, if the first screen and the second screen are the main screen and the secondary screen respectively, before the switch, the first screen can display icons of all applications in the first user space and support all functions of these applications; after the switch, the second screen can only display icons of some applications in the first user space and support only some functions of these applications.

[0170] Interface Example

[0171] getDisplayTypeByUser interface

[0172] This interface is used to obtain the type of the screen. The full version of this interface is DisplayTypeByUser(int userId). The parameter displayId contained in the brackets is the ID of the current user space. This interface is specifically used to obtain the type of the screen where the current user space is located.

[0173] During the use of electronic devices, due to the different permissions of different screens, the content of the same user space and the content of the same application that can be accessed on different screens may be different. After using this interface to obtain the screen type, the relevant modules can determine the permission range of the current screen and provide services within this permission range.

[0174] Refer to Figure 6, which shows the process of displaying the desktop on the central control screen and the co-pilot screen respectively when the vehicle is turned on for the first time.

[0175] Figure 6 shows the process of displaying the desktop on the central control screen when the vehicle is turned on for the first time. This process may include:

[0176] 1. The system starts OOBE on the central control screen.

[0177] 2. OOBE calls the getDisplayTypeByUser interface and queries the screen and user space management module for the screen type of the screen where the user space is currently running based on the ID of the user space in which OOBE is currently running.

[0178] 3. The screen and user space management module returns the query result of the screen type to OOBE, and the query result indicates that the screen currently running on OOBE is the central control screen.

[0179] 4. After OOBE knows that the screen is the central control screen, it displays a user interface to guide the user to log in. Please refer to step 10 in Figure 4.

[0180] 5. Monitor the execution status of OOBE on the central control screen.

[0181] 6. Query the package management module for the permission range of the current screen (i.e., the central control screen).

[0182] 7. Open the corresponding service scope based on the queried authority scope.

[0183] 8. After the OOBE boot process is monitored to be completed, the first desktop is started. The started first desktop only contains icons of applications within the permission range.

[0184] Figure 6 (b) shows the process of displaying the desktop on the passenger screen when the vehicle is turned on for the first time. This process may include:

[0185] 1. The system starts OOBE on the passenger screen.

[0186] 2. OOBE calls the getDisplayTypeByUser interface and queries the screen and user space management module for the screen type of the screen where the user space is currently running based on the ID of the user space in which OOBE is currently running.

[0187] 3. The screen and user space management module returns the query result of the screen type to OOBE, which indicates that the screen currently running on OOBE is the co-pilot screen.

[0188] 4. After OOBE knows that the screen is the co-pilot screen, it does not start the second desktop first. Please refer to step 23 in Figure 4.

[0189] 5. Monitor the execution status of OOBE.

[0190] 6. Query the package management module for the permission scope of the current screen (i.e., the passenger screen). The permission scope of the current screen may include: the applications provided by the current user space on the current screen, or the functions provided by the first application in the current user space on the current screen.

[0191] 7. Open the corresponding service scope based on the queried authority scope.

[0192] 8. After the OOBE boot process is monitored and completed, the second desktop is started. The started second desktop only contains icons of applications within the permission range.

[0193] The differences in OOBE pages and desktops displayed on different screens during vehicle startup, as shown in Figure 6, also affect the permissions of certain applications. Therefore, when running applications on different screens, the getDisplayTypeByUser API can be used to determine the current screen type and, therefore, the permission scope.

[0194] isDisplayTopUser Interface

[0195] This API is used to determine whether a user space is the foreground user space of a particular display. The full version of this API is called isDisplayTopUser(int userId), where the parameter userId in parentheses is the user space ID. This API is specifically used to determine whether the user space is the foreground user space of a display. The display here can be any display included in the electronic device.

[0196] The process of independent use of the first screen and the second screen in the electronic device introduced above, including the process of the electronic device displaying the desktop and launching applications separately on the two screens, all rely on the concept of the foreground user space of the screen provided by this application, and require the use of the isDisplayTopUser interface.

[0197] The functions of this interface are introduced using two scenarios: launching an application and drawing a window.

[0198] Referring to Figure 7, which shows the process of creating an activity on an electronic device, the electronic device can create an activity by calling the ATMS interface of the application framework layer in response to a click on a desktop application icon, or by the application itself while the application is running.

[0199] As shown in Figure 7, the electronic device first creates an activity identifier (ActivityRecord), then creates a Task, and pushes the ActivityRecord into the Task. After that, the process is incubated and the application lifecycle management is triggered. In the native Android design, before the activity starts, the task first determines whether the current user space is the foreground user space (currentUser) of the entire device. For activities that are not specified to be visible to all user spaces, if the current user space is not currentUser, the activity is not allowed to start. In this application, first determine whether the current user space is currentUser. If so, start the activity; if not, add the step of calling the isDisplayTopUser interface to determine whether the current user space is the foreground user space of the screen. If so, start the activity. The screen here can be any screen in the electronic device. As long as it is determined that the current user space is the foreground user space of any screen, the activity can be started. The HwCarUserManagerSevice in Figure 7 is a decoupling implementation of the user space management service (UserManagerService) for the cockpit product.

[0200] Referring to Figure 8, which illustrates the process of drawing a window on an electronic device, the electronic device may respond to a click on a desktop application icon by having the desktop application call the application framework layer to add a main window (MainWindow), or the application running on the electronic device may proactively call the addWindow interface.

[0201] As shown in Figure 8, after starting the Activity, the lifecycle recovery (resume) will be triggered, and then the Activity will call WMS to create the window state (WindowState). In the native design of Android, before drawing the window, first determine whether the current user space is the foreground user space (currentUser) of the entire machine. For windows that are not specified to be visible to all user spaces, if the current user space is not currentUser, drawing is not allowed. In this application, first determine whether the current user space is currentUser. If so, draw the window; if not, add the step of calling the isDisplayTopUser interface to determine whether the current user space is the foreground user space of the current screen. If so, draw the window.

[0202] From the processes shown in Figures 7 and 8 on the right, it can be seen that when judging whether the current user space is the current User, if not, the subsequent processes (such as starting an activity or drawing a window) should be refused to execute. In this application, since the concept of the foreground user space of the screen has been newly added, it is possible to judge whether the current user space is the foreground user space of the current screen in the case of no. If so, the subsequent processes can still be continued.

[0203] It can be seen from Figures 7 and 8 that in this application, the two screens start different user spaces, and each screen adds the concept of a foreground user space of a screen. In this way, the user space of the secondary screen does not need to be mounted to the currentUser of the main screen, and the foreground user space on the secondary screen can also start applications and draw windows normally.

[0204] swapUsersBetweenDisplay interface, currentUser switching interface, switchUserToDisplay interface

[0205] The above three interfaces are all used to switch user space.

[0206] The swapUsersBetweenDisplay interface is used to swap the foreground user space of two displays. The full version of this interface is swapUsersBetweenDisplay(final int userId1, final int userId2, final int displayId1, final int displayId2), where the four parameters are enclosed in parentheses. displayId1 and displayId2 are the IDs of the two swapped displays, userId1 indicates the ID of the foreground user space of the display with displayId1 after the swap, and userId2 indicates the ID of the foreground user space of the display with displayId2 after the swap.

[0207] The currentUser switching interface is used to switch the foreground user space of the main screen.

[0208] The switchUserToDisplay interface is used to switch the foreground user space of the secondary screen. The full version of this interface is switchUserToDisplay(final int targetUserId, final int targetDisplayId), which contains two parameters in the brackets: targetUserId and targetDisplayId, which are the foreground user space of the secondary screen after switching and the ID of the secondary screen respectively.

[0209] The currentUser switching interface is the Android native interface, and the swapUsersBetweenDisplay interface and switchUserToDisplay interface are newly added interfaces in this application.

[0210] Figure 9 illustrates the process of switching user spaces in a vehicle, executed by the cockpit user center. The vehicle executing this process includes a first screen and a second screen. The first screen operates in the first user space in the foreground, while the second screen operates in the third user space in the foreground. The first and second screens can be the central control screen and the passenger screen, respectively, or vice versa.

[0211] As shown in FIG9 , the process may include the following steps:

[0212] 1. Get the account number entered by the user through the first screen.

[0213] 2. Check whether the user space corresponding to the account is currently the foreground user space of other screens.

[0214] If yes, for example, the account corresponds to the second user space, then execute step 3; if no, for example, the account corresponds to the third user space, then execute step 4.

[0215] 3. Call the swapUsersBetweenDisplay interface to swap the foreground user space of the first screen and the second screen.

[0216] 4. Determine whether the first screen is the central control screen.

[0217] If yes, go to step 5; if no, go to step 6.

[0218] 5. Call the currentUser switching interface to switch the third user space to the foreground of the central control screen.

[0219] 6. Determine whether the first screen is the co-pilot screen.

[0220] If yes, go to step 7; if no, go to step 8.

[0221] 7. Call the switchUserToDisplay interface to switch the third user space to the foreground of the co-pilot screen.

[0222] 8. Abnormal error.

[0223] Of course, if the vehicle still has a rear screen, then after step 7, you can continue to determine whether it is the rear screen, and if so, call the switchUserToDisplay interface to switch the third user space to the foreground of the rear screen.

[0224] Referring to a in FIG10 , when the cockpit user center calls the swapUsersBetweenDisplay interface in step 3 of FIG9 , the process of swapping the foreground user space is specifically executed by the framework layer and may include the following steps:

[0225] 301. Authenticate the cockpit user center to determine whether it has the authority to swap the front-end user space.

[0226] 302. If yes, call the first screen to display a pop-up box, which is used to remind the user that the account logged in on the first screen and the second screen is about to be switched. In some embodiments, the second screen may also be called to display a similar pop-up box.

[0227] 303. Freeze the first and second screens. Freezing freezes the content displayed on each screen. A timeout can be set for the freeze operation, such as 3 seconds. This step prevents a black screen from appearing during the swap process.

[0228] 304. Refresh the mapping relationship of the central control screen and mark the currentUser of the entire device (that is, the foreground user space of the central control screen) as the second user space.

[0229] 305. Refresh the mapping relationship of the co-pilot screen and mark the foreground user space of the co-pilot screen as the first user space.

[0230] 306. Through the onUsersSwapingBetweenDisplay interface, the systemService is called back to notify it that the foreground user space of the first screen and the second screen are swapped.

[0231] 307. Through the UsersSwapbetweenDisplayObserver interface, the system observer is notified that the foreground user space of the first screen and the second screen are swapped.

[0232] 308. Stop all processes in the current foreground user space of the first and second screens.

[0233] 309. In the foreground user space of the first screen after swapping, start the desktop and resident processes of the first screen; in the foreground user space of the second screen after swapping, start the desktop and resident processes of the second screen.

[0234] The reason for executing steps 308-309 is that the sizes of the two screens may be different. Stopping the existing process and then restarting it, and creating a process with the properties of the switched screen, can optimize the display.

[0235] 310. Send two ACTION_USERS_SWITHED_TO_DISPLAY broadcasts, each carrying the screen ID of the first screen and the second screen, to notify all observers and services that the foreground user space of the first screen and the second screen is currently being switched.

[0236] 311. When the first screen completes desktop drawing, or receives a callback from the system observer, or the frozen screen times out, the first screen will be unfrozen; the same applies to the second screen.

[0237] 312. After the first and second screens are unfrozen, a broadcast is sent to notify all observers and services that the user space swap between the first and second screens has been completed.

[0238] Referring to b in FIG10 , when the cockpit user center calls the switchUserToDisplay interface in step 7 of FIG9 , the process of switching the foreground user space of the co-pilot screen is specifically executed by the framework layer and may include the following steps:

[0239] 701. Authenticate the cockpit user center to determine whether it has the authority to switch the foreground user space of the secondary screen.

[0240] 702. If yes, call the co-pilot screen to display a pop-up box, which is used to prompt the user that the account logged in on the co-pilot screen is about to be switched.

[0241] 703. Freeze the passenger screen. A timeout can be set for the freeze operation, such as 3 seconds. This step can prevent a black screen from appearing during the switch.

[0242] 704. Refresh the mapping relationship of the co-pilot screen and mark the foreground user space of the co-pilot screen as the third user space.

[0243] 705. Through the onUsersSwapingBetweenDisplay interface, call back the systemService to notify it that the foreground user space of the co-pilot screen has switched.

[0244] 706. Through the UsersSwapbetweenDisplayObserver interface, the system observer is notified that the foreground user space of the co-pilot screen has switched.

[0245] 707. Stop all processes in the third user space.

[0246] 708. In the third user space, start the desktop and resident processes of the co-pilot screen.

[0247] 709. Call the ACTION_USERS_SWITHED_TO_DISPLAY broadcast, which can carry the screen ID of the co-pilot screen to notify all observers and businesses that the foreground user space of the co-pilot screen is currently being switched.

[0248] 710. When the co-pilot screen completes desktop drawing, or receives a callback from the system observer, or the frozen screen times out, the co-pilot screen is unfrozen.

[0249] 711. Send a broadcast to notify all observers and businesses that the switch to the foreground user space of the co-pilot screen has been completed.

[0250] StartUserToDisplay Interface

[0251] This API is used to launch the target userspace into the foreground of the screen and unlock the locked state of the userspace. After unlocking, the userspace becomes accessible. This API can be used to launch a userspace on a screen or switch userspaces between screens.

[0252] FIG11 shows the process of using a multi-screen electronic device provided in an embodiment of the present application.

[0253] The method is applied to an electronic device including a first screen and a second screen. The first screen and the second screen are different screens. The first screen can be a primary screen, and the second screen can be a secondary screen. For example, the first screen can be a vehicle's central control screen, and the second screen can be a passenger screen or a rear screen, or vice versa.

[0254] As shown in FIG11 , the method may include the following steps:

[0255] S1101: The electronic device displays a user interface of a first application in a first user space on a first screen, and displays a user interface of the first application in a second user space on a second screen.

[0256] The first user space and the second user space are different. The first user space can be the user space of a natural person user or the guest space of the first screen. The second user space can be the user space of a natural person user or the guest space of the second screen. When executing S1101, the foreground user space of the first screen is the first user space, and the foreground user space of the second screen is the second user space.

[0257] Before executing S1101, the electronic device may first create a first user space and a second user space. The process of the electronic device creating a user space can refer to the relevant description of FIG4.

[0258] In some embodiments, the electronic device logs in a first account on a first screen, and then displays a user interface of a first application in a first user space on the first screen; logs in a second account on a second screen, and then displays a user interface of the first application in a second user space on the second screen. The first account is the account corresponding to the first user space, and the second account is the account corresponding to the second user space.

[0259] The first application can be a system application or a third-party application. The first application in the first user space and the first application in the second user space are both installed based on the same application installation package in the electronic device. The first application in the first user space and the first application in the second user space have the same package name and may also have the same application icon and application name.

[0260] In some embodiments, the electronic device includes a processing chip, and the first user space, the second user space, and the third user space run on the processing chip. Both the first screen and the second screen can be connected to the processing chip.

[0261] In some embodiments, before executing S1101, the electronic device may first receive a power-on operation, not display the second desktop on the second screen, then display the first desktop on the first screen, and then display the second desktop on the second screen; wherein the application corresponding to the application icon displayed on the first desktop is installed in the first user space, and the application corresponding to the application icon displayed on the second desktop is installed in the second user space. For the specific implementation of displaying content on each screen after the electronic device is powered on, please refer to the relevant description of Figures 4, 5, and 6.

[0262] In some embodiments, before executing S1101, the electronic device may further store the correspondence between the first screen and the first user space, and the correspondence between the second screen and the second user space. For example, the electronic device may associate and store the ID of the first screen with the ID of the first user space, and associate and store the ID of the second screen with the ID of the second user space in the data structure DisplayTopUserMap.

[0263] In some embodiments, before executing S1101, the electronic device may first determine the screen type of the first screen where the first user space is located, and then, based on the screen type of the first screen, determine the application provided by the first user space on the first screen, or determine the function provided by the first application in the first user space on the first screen. In some embodiments, the electronic device may determine the screen type of the first screen where the first user space is located by calling the getDisplayTypeByUser interface. For details, please refer to the description of the getDisplayTypeByUser interface and Figure 6 above.

[0264] In some embodiments, before executing S1101, the electronic device may first determine whether the first user space is the foreground user space of the first screen. If so, the electronic device may start the activity of the first application in the first user space and draw the window of the first application. In some embodiments, the electronic device may determine whether the first user space is the foreground user space of the first screen by calling the isDisplayTopUser interface. For details, please refer to the relevant description of the isDisplayTopUser interface above and Figures 7 and 8.

[0265] With S1101, different users can use the same application on different screens without interfering with each other.

[0266] S1102 , the electronic device displays the user interface of the second application in the third user space on the first screen, and continues to display the user interface of the first application in the second user space on the second screen.

[0267] After executing S1102, the foreground user space of the first screen is switched from the first user space to the third user space. The third user space is different from the first user space and the second user space.

[0268] According to S1102, since the two screens each correspond to a foreground user space, when the electronic device switches the foreground user space of the first screen, the foreground user space of the second screen is not affected. During this process, the foreground user space of the second screen (i.e., the second user space) can continue to operate, and the second screen can continue to display the original user interface.

[0269] In some embodiments, before executing S1102, the electronic device may switch the foreground user space of the first screen from the first user space to the third user space. In some embodiments, the electronic device may switch the foreground user space of the first screen from the first user space to the third user space by calling the switching interface of currentUser. For details, please refer to the switching interface of currentUser and the related description of Figure 9 above.

[0270] In some implementations, before executing S1102 , the electronic device may switch the account logged in on the first screen from the first account to a third account.

[0271] In some embodiments, before executing S1102, the electronic device may also update the correspondence between the first screen and the first user space to a correspondence between the first screen and the third user space. For example, the electronic device may update the associated stored ID of the first screen and the ID of the first user space in the DisplayTopUserMap data structure to the ID of the first screen and the ID of the third user space.

[0272] Optionally, after S1102, the electronic device may further perform any one of the following steps S1103-S1105 (not shown in FIG11 ):

[0273] S1103: The electronic device displays a user interface provided by the first user space on the second screen.

[0274] That is, the electronic device switches the foreground user space of the second screen from the second user space to the first user space.

[0275] In some embodiments, the number of applications provided by the first user space on the second screen is less than the number of applications provided by the first user space on the first screen. Reference may be made to the above description of different permission scopes for the same user space on different screens.

[0276] In some embodiments, the electronic device specifically displays a user interface of a first application in a first user space on a second screen, wherein the functionality provided by the first application in the first user space on the second screen is less than the functionality provided by the first application in the first user space on the first screen. Reference may be made to the above description of different permission scopes for the same user space on different screens.

[0277] S1104 , the electronic device swaps the third user space running in the foreground of the first screen with the second user space running in the foreground of the second screen.

[0278] That is, the electronic device will display the user interface provided by the second user space on the first screen, and display the user interface provided by the third user space on the second screen.

[0279] In some embodiments, the electronic device can swap the foreground user space of the first screen and the foreground user space of the second screen by calling the swapUsersBetweenDisplay interface. For details, please refer to the swapUsersBetweenDisplay interface mentioned above and the related description in a of Figure 9 and Figure 10.

[0280] S1105: The electronic device switches the foreground user space of the second screen from the second user space to the fourth user space.

[0281] That is, the electronic device will display the user interface provided by the fourth user space on the second screen.

[0282] In some embodiments, the electronic device can switch the foreground user space of the second screen from the second user space to the fourth user space by calling the switchUserToDisplay interface. For details, please refer to the switchUserToDisplay interface above and the relevant description in b of Figure 9 and Figure 10.

[0283] Structure of electronic equipment

[0284] Referring to Figure 12, which is a hardware structure diagram of an electronic device 100 provided in an embodiment of the present application, the electronic device 100 may be an electronic device implemented in a non-vehicle form provided in an embodiment of the present application, and is used to perform the steps of the electronic device side in the method shown above.

[0285] As shown in Figure 12, the electronic device 100 may include: the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, 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, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0286] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0287] 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 video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.

[0288] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0289] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0290] 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.

[0291] The charging management module 140 is configured to receive charging input from a charger. While charging the battery 142 , the charging management module 140 can also provide power to the electronic device through the power management module 141 .

[0292] 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 input from the battery 142 and / or the charging management module 140 to provide power to the processor 110, the internal memory 121, the display 194, the camera 193, and the wireless communication module 160.

[0293] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0294] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0295] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.

[0296] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium- or high-frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then 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 passed to the application processor. The application processor outputs sound signals through an audio device (including but not limited to the speaker 170A, the receiver 170B, etc.) or displays images or videos through the display screen 194.

[0297] The wireless communication module 160 can provide wireless communication solutions applied to the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication technology (NFC), infrared technology (IR), etc.

[0298] In some embodiments, the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with a network and other devices through wireless communication technologies. The wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0299] Electronic device 100 implements display functionality through a GPU, display screen 194, and an application processor. A GPU is a microprocessor for image processing that connects display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or modify display information.

[0300] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD). The display panel can also be manufactured using organic light-emitting diodes (OLEDs), active-matrix organic light-emitting diodes or active-matrix organic light-emitting diodes (AMOLEDs), flexible light-emitting diodes (FLEDs), miniLEDs, microLEDs, micro-OLEDs, quantum dot light-emitting diodes (QLEDs), etc.

[0301] The electronic device 100 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.

[0302] The internal memory 121 may include one or more random access memories (RAM) and one or more non-volatile memories (NVM).

[0303] The random access memory can be directly read and written by the processor 110, and can be used to store executable programs (such as machine instructions) of the operating system or other running programs, and can also be used to store user and application data.

[0304] The non-volatile memory may also store executable programs and user and application data, etc., and may be loaded into the random access memory in advance for direct reading and writing by the processor 110 .

[0305] The external memory interface 120 can be used to connect to an external non-volatile memory to expand the storage capacity of the electronic device 100. The external non-volatile memory communicates with the processor 110 via the external memory interface 120 to implement data storage. For example, files such as music and videos can be stored in the external non-volatile memory.

[0306] The electronic device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0307] In the embodiment of the present application, the electronic device 100 has multiple display screens 194. The electronic device 100 may include a processor 110, and the components in the processor 110 may be integrated into the same chip, which is used to run the operating system of the electronic device 100 and also to run multiple user spaces.

[0308] In the present application, the internal memory 121 may store program instructions for implementing the method for using the multi-screen electronic device provided in the present application, and the processor 110 is used to call the program instructions to trigger the electronic device 100 to execute the method for using the multi-screen electronic device. Specifically, the processor 110 is used to manage the various user spaces provided in the present application, including creating user spaces, supporting the independent use of multiple screens based on the concept of foreground user space of the screen, switching user spaces, and even deleting user spaces. The operations performed by the processor 110 can be specifically referred to the detailed introduction to the method for using the multi-screen electronic device above.

[0309] Figure 13 is a hardware structure diagram of a vehicle 200 provided in an embodiment of the present application. The vehicle 200 may be an electronic device implemented in a vehicle form provided in an embodiment of the present application, and is used to execute each step of the electronic device side in the method shown above.

[0310] As shown in FIG13 , the vehicle 200 includes a controller area network (CAN) bus 11, multiple electronic control units (ECUs), an engine 13, a telematics box (T-box) 14, a transmission 15, a driving recorder 16, an anti-lock brake system (ABS) 17, a sensor system 18, a camera system 19, and the like.

[0311] The CAN bus 11 is a serial communication network that supports distributed or real-time control and is used to connect the various components of the vehicle 200. Any component on the CAN bus 11 can monitor all data transmitted on the CAN bus 11. Frames transmitted by the CAN bus 11 can include data frames, remote frames, error frames, and overload frames, with different frames transmitting different types of data. In the embodiments of the present application, the CAN bus 11 can be used to transmit data related to the operation of the vehicle 200 by various components.

[0312] The various components of the vehicle 200 may be connected and communicated via other means, not limited to the CAN bus 11. In other embodiments, the various components of the vehicle 200 may also communicate via other means. For example, the various components may communicate via an in-vehicle Ethernet (Ethernet), a local interconnect network (LIN) bus, FlexRay, or a common in-vehicle media-oriented systems (MOST) bus, etc., although this is not a limitation in the present embodiment. The following embodiments are described using the CAN bus as the basis for the various components communicating.

[0313] The ECU is the processor or brain of vehicle 200, instructing components to perform actions based on instructions received from the CAN bus 11 or user input. The ECU may consist of a security chip, a microprocessor (MCU), random access memory (RAM), read-only memory (ROM), input / output (I / O) interfaces, an analog / digital converter (A / D converter), and large-scale integrated circuits for input, output, shaping, and driver functions.

[0314] There are many types of ECUs, and different types of ECUs can be used to achieve different functions.

[0315] The multiple ECUs in the vehicle 200 may include, for example, an engine ECU 121 , a telematics box (T-box) ECU 122 , a transmission ECU 123 , a driving recorder ECU 124 , an anti-lock brake system (ABS) ECU 125 , and the like.

[0316] The engine ECU 121 is used to manage the engine and coordinate its various functions, such as starting and shutting down the engine. The engine is a device that provides power to the vehicle 200. An engine is a machine that converts a certain form of energy into mechanical energy. The vehicle 200 can be used to convert the chemical energy of liquid or gas combustion, or electrical energy, into mechanical energy and output power externally. The engine components may include two major mechanisms: the crankshaft and the valve train, as well as five major systems: cooling, lubrication, ignition, energy supply, and starting system. The main components of the engine include the cylinder block, cylinder head, piston, piston pin, connecting rod, crankshaft, flywheel, etc.

[0317] The T-box ECU 122 is used to manage the T-box 14. In the embodiment of the present application, the T-box ECU 122 is used to manage the various user spaces provided by the present application, including creating user spaces, supporting the independent use of multiple screens through the concept of a screen-based foreground user space, switching user spaces, and even deleting user spaces. For details on the operations performed by the T-box ECU 122, please refer to the detailed description of the method for using the multi-screen electronic device above.

[0318] T-box 14 is mainly responsible for communicating with the Internet and providing a remote communication interface for vehicle 200, providing services including navigation, entertainment, driving data collection, driving trajectory recording, vehicle fault monitoring, vehicle remote query and control (such as unlocking and closing, air conditioning control, window control, engine torque limit, engine start and stop, seat adjustment, query of battery power, fuel level, door status, etc.), driving behavior analysis, wireless hotspot sharing, roadside assistance, abnormal reminders, etc.

[0319] The T-box 14 can communicate with telematics service providers (TSPs) and electronic devices such as mobile phones to display and control vehicle information on user-side electronic devices. Data such as vehicle condition reports, driving reports, fuel consumption statistics, traffic violation inquiries, location trajectories, and driving behavior can be transmitted to the TSP backend system via the network, which then forwards it to the user's electronic device for viewing.

[0320] The T-box 14 may specifically include a communication module and a display screen.

[0321] The communication module can be used to provide wireless communication functions, supporting vehicle 200 to communicate with other devices via wireless communication technologies such as WLAN (such as Wi-Fi), BT, GNSS, FM, NFC, IR, etc. The communication module can also be used to provide mobile communication functions, supporting vehicle 200 to communicate with other devices via communication technologies such as GSM, UMTS, WCDMA, TD-SCDMA, LTE / 4G, 5G, and future 6G.

[0322] The display screen is used to provide a visual interface for the driver. Vehicle 200 may include one or more display screens, such as an onboard display screen located next to a seat, a display screen located above a seat for displaying surrounding information, and a head-up display (HUD) that projects information onto the windshield. The display screen used to display the user interface in vehicle 200 provided in subsequent embodiments may be an onboard display screen located next to a seat, a display screen located above a seat, a HUD, etc., without limitation herein.

[0323] T-box 14 may also be referred to as a vehicle system, a telematics processor, a vehicle gateway, etc., which is not limited in the embodiments of the present application.

[0324] The transmission ECU 123 is used to manage the transmission.

[0325] The transmission 15 is a mechanism used to change the engine's speed and torque. It can change the output-to-input ratio in a fixed or step-by-step manner. Transmission 15 components may include a transmission mechanism, an operating mechanism, and a power take-off mechanism. The transmission mechanism primarily changes the magnitude and direction of torque and speed; the operating mechanism primarily controls the transmission mechanism to achieve gear shifting, thereby changing the transmission ratio and achieving speed and torque variations.

[0326] The drive recorder ECU 124 is used to manage the drive recorder 16 .

[0327] The components of the driving recorder 16 may include a host computer, a vehicle speed sensor, and data analysis software. The driving recorder 16 is a device that records images and sounds of a vehicle while it is in motion, including relevant information such as driving time, speed, and location. In this embodiment of the present application, while the vehicle is in motion, the vehicle speed sensor collects wheel speed information and transmits it to the driving recorder 16 via the CAN bus.

[0328] The ABS ECU 125 is used to manage the ABS 17 .

[0329] ABS17 automatically controls the braking force during vehicle braking to prevent the wheels from locking and maintain a rolling and sliding state, thereby ensuring maximum adhesion between the wheels and the ground. During braking, if the electronic control unit determines that a wheel is approaching locking based on the wheel speed signal input by the wheel speed sensor, the ABS will enter the anti-lock brake pressure adjustment process.

[0330] The sensor system 18 may include: an acceleration sensor, a vehicle speed sensor, a vibration sensor, a gyroscope sensor, a radar sensor, and the like. The acceleration sensor and the vehicle speed sensor are used to detect the speed of the vehicle 200. The vibration sensor may be installed in the airbag or other locations to detect whether the vehicle 200 has been hit. The gyroscope sensor may be used to determine the motion posture of the vehicle 200. The radar sensor may include a laser radar, an ultrasonic radar, a millimeter wave radar, and the like. The radar sensor is used to emit electromagnetic waves to illuminate a target and receive the echo, thereby obtaining information such as the distance from the target to the electromagnetic wave emission point, the rate of change of distance (radial velocity), the direction, and the altitude, thereby identifying other vehicles, pedestrians, or roadblocks near the vehicle 200.

[0331] The camera system 19 may include multiple cameras for capturing still images or videos. The cameras in the camera system 19 may be located in front of, behind, on the sides of, or inside the vehicle, to facilitate functions such as assisted driving, driving recording, panoramic surround view, and in-vehicle monitoring.

[0332] The sensor system 18 and the camera system 19 can be used to detect the surrounding environment, so that the vehicle 200 can make corresponding decisions to cope with environmental changes. For example, they can be used to complete the task of paying attention to the surrounding environment during the autonomous driving stage.

[0333] In addition, the vehicle 200 may also include multiple interfaces, such as a USB interface, an RS-232 interface, an RS485 interface, etc., which can be connected to external cameras, microphones, headphones, and user electronic devices.

[0334] It should be understood that the illustrated structures of the embodiments of this application do not constitute specific limitations on the vehicle system. Vehicle 200 may include more or fewer components than shown, or may combine or separate certain components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0335] For example, the vehicle 200 may also include a battery, lights, wipers, an instrument panel, audio, an auxiliary control unit (ACU), a passive entry and start system (PEPS), an OBU (on board unit), a body control module (BCM), a charging port, and the like.

[0336] The software system of the electronic device can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes a mobile operating system with a layered architecture as an example to illustrate the software structure of the electronic device.

[0337] FIG14 is a block diagram of the software structure of the electronic device according to an embodiment of the present application.

[0338] A layered architecture divides software into several layers, each with distinct roles and responsibilities. Layers communicate with each other via software interfaces. In some embodiments, a mobile operating system is divided into four layers: the application layer, the application framework layer / core services layer, the underlying libraries and runtime layer, and the kernel layer.

[0339] The application layer can include a series of application packages.

[0340] As shown in FIG14 , the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and short message.

[0341] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The application framework layer includes some predefined functions.

[0342] The application framework layer of the electronic device in this application may include a series of interfaces for supporting the methods provided in this application, such as the getDisplayTypeByUser interface, the isDisplayTopUser interface, the swapUsersBetweenDisplay interface, the currentUser switching interface, the switchUserToDisplay interface, the StartUserToDisplay interface, etc. The above interfaces are provided to various applications in the application layer for calling, and are also provided to various system services in the application framework layer for calling.

[0343] As shown in FIG14 , the application framework layer may include a window manager, an activity manager, an application execution management server, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0344] The window manager provides a window management service (WMS) for managing window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, and more.

[0345] The Activity Manager provides the Activity Management Service (AMS) to manage various activities. The Activity Manager can manage the lifecycle of each activity, such as starting and terminating an activity.

[0346] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0347] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.

[0348] The phone manager is used to provide communication functions for electronic devices, such as call status management (including answering, hanging up, etc.).

[0349] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0350] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically without user interaction. For example, the Notification Manager is used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include text messages in the status bar, beeps, vibrations on electronic devices, and flashing indicator lights.

[0351] The services provided by each manager in the application framework layer can be used by each user space of the electronic device.

[0352] The runtime can refer to all code libraries, frameworks, and other components required for a program to run. For example, for the C language, the runtime includes a series of function libraries required for C programs to run. For the Java language, in addition to the core libraries, the runtime also includes the virtual machine required for Java programs to run. These core libraries include the functions required by the Java language.

[0353] The underlying library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.

[0354] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.

[0355] The media library supports playback and recording of a variety of common audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0356] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0357] A 2D graphics engine is a drawing engine for 2D drawings.

[0358] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.

[0359] The following describes the workflow of the electronic device software and hardware in conjunction with capturing a photo scene.

[0360] When the touch sensor 180K receives a touch operation, the corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, touch operation timestamp, and other information). The raw input event is stored in the kernel layer. The application framework layer obtains the raw input event from the kernel layer and identifies the control corresponding to the input event. For example, if the touch operation is a touch single-click operation and the control corresponding to the single-click operation is the control of the camera application icon, the camera application calls the interface of the application framework layer to start the camera application, and then starts the camera driver by calling the kernel layer to capture a still image or video through the camera 193.

[0361] It should be understood that each step in the above method embodiment can be completed by hardware integrated logic circuits in a processor or by software instructions. The method steps disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware processor, or by a combination of hardware and software modules in a processor.

[0362] The present application also provides an electronic device, which may include: a memory and a processor. The memory may be used to store a computer program; the processor may be used to call the computer program in the memory to enable the electronic device to execute the method executed by the electronic device in any of the above embodiments.

[0363] The present application also provides a vehicle, which may include the electronic device provided by the present application. The electronic device may be implemented as a vehicle computer.

[0364] The present application also provides a chip system, which includes at least one processor for implementing the functions involved in the electronic device in any of the above embodiments.

[0365] In one possible design, the chip system further includes a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.

[0366] The chip system can be composed of chips, or can include chips and other discrete devices.

[0367] Optionally, there may be one or more processors in the chip system. The processor may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.

[0368] Optionally, the memory in the chip system may be one or more. The memory may be integrated with the processor or may be provided separately from the processor, which is not limited in the embodiments of the present application. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or provided on different chips. The embodiments of the present application do not specifically limit the type of memory or the configuration of the memory and the processor.

[0369] Exemplarily, the chip system may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.

[0370] The present application also provides a computer program product, which includes: a computer program (also referred to as code, or instruction), which, when executed, enables a computer to execute the method executed by the electronic device in any of the above embodiments.

[0371] The present application also provides a computer-readable storage medium storing a computer program (also referred to as code or instruction). When the computer program is executed, the computer executes the method executed by the electronic device in any of the above embodiments.

[0372] The various implementation modes of this application can be combined arbitrarily to achieve different technical effects.

[0373] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described herein are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0374] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium, and when executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

[0375] In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" refers to two or more than two.

[0376] The terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, features defined as "first" or "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.

[0377] The term "user interface (UI)" in the embodiments of the present application refers to a medium interface for interaction and information exchange between an application or operating system and a user, which realizes the conversion between the internal form of information and the form acceptable to the user. The user interface is a source code written in a specific computer language such as Java and extensible markup language (XML). The interface source code is parsed and rendered on an electronic device and finally presented as content that the user can recognize. The commonly used form of user interface is graphical user interface (GUI), which refers to a user interface related to computer operations that is displayed in a graphical manner. It can be a visual interface element such as text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc. displayed on the display screen of an electronic device.

[0378] In short, the above description is only an embodiment of the technical solution of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made based on the disclosure of this application should be included in the scope of protection of this application.

Claims

1. A method for using a multi-screen electronic device, characterized in that: The method is applied to an electronic device including a first screen and a second screen, and the method includes: Displaying a user interface of a first application in a first user space on the first screen, and displaying a user interface of the first application in a second user space on the second screen; The user interface of the second application in the third user space is displayed on the first screen, and the user interface of the first application in the second user space is continuously displayed on the second screen.

2. The method according to claim 1, characterized in that The first application in the first user space and the first application in the second user space have the same package name.

3. The method according to claim 1 or 2, characterized in that: The first application in the first user space and the first application in the second user space are both installed based on the same installation package.

4. The method according to any one of claims 1 to 3, characterized in that: The electronic device also includes a processing chip, and the first user space, the second user space and the third user space run on the processing chip.

5. The method according to any one of claims 1 to 4, characterized in that: Before displaying the user interface of the first application installed in the first user space on the first screen and displaying the user interface of the first application installed in the second user space on the second screen, the method further includes: The electronic device receives a power-on operation; First, the second desktop is not displayed on the second screen, and then the first desktop is displayed on the first screen, and the second desktop is displayed on the second screen; Among them, the application corresponding to the application icon displayed in the first desktop is installed in the first user space, and the application corresponding to the application icon displayed in the second desktop is installed in the second user space.

6. The method according to any one of claims 1 to 5, characterized in that: After the second screen continues to display the user interface of the first application in the second user space, the method further includes: Displaying a user interface provided by the first user space on the second screen; The number of application programs provided by the first user space on the second screen is less than the number of application programs provided by the first user space on the first screen.

7. The method according to any one of claims 1 to 6, characterized in that: After the second screen continues to display the user interface of the first application in the second user space, the method further includes: Displaying a user interface of a first application in the first user space on the second screen; The functions provided by the first application in the first user space on the second screen are less than the functions provided by the first application in the first user space on the first screen.

8. The method according to any one of claims 1 to 7, characterized in that: Before displaying the user interface of the first application in the first user space on the first screen and displaying the user interface of the first application in the second user space on the second screen, the method further includes: storing a correspondence between the first screen and the first user space, and storing a correspondence between the second screen and the second user space; Before the first screen displays the user interface of the second application in the third user space, and before the second screen continues to display the user interface of the first application in the second user space, the method also includes: updating the correspondence between the first screen and the first user space to the correspondence between the first screen and the third user space.

9. The method according to any one of claims 1 to 8, characterized in that: Before the first screen displays the user interface of the first application in the first user space, the method further includes: Determine a screen type of the first screen where the first user space is located; According to the screen type of the first screen, an application program provided by the first user space on the first screen is determined, or a function provided by the first application in the first user space on the first screen is determined.

10. The method according to any one of claims 1 to 9, characterized in that: Before the first screen displays the user interface of the first application in the first user space, the method further includes: Determining whether the first user space is the foreground user space of the first screen; If so, the activity of the first application is started in the first user space, and the window of the first application is drawn.

11. The method according to any one of claims 1 to 10, characterized in that: After the first screen displays the user interface of the first application in the first user space, the second screen displays the user interface of the first application in the second user space, and before the first screen displays the user interface of the second application in the third user space, the method further includes: The foreground user space of the first screen is switched from the first user space to the third user space.

12. The method according to any one of claims 1 to 5, characterized in that: After displaying the user interface of the second application in the third user space on the first screen and continuously displaying the user interface of the first application in the second user space on the second screen, the method further includes: The third user space running in the foreground of the first screen and the second user space running in the foreground of the second screen are swapped.

13. The method according to any one of claims 1 to 5, characterized in that: After the first screen displays a user interface of the second application installed in the third user space, and the second screen continues to display the user interface of the first application installed in the second user space, the method further includes: The foreground user space of the second screen is switched from the second user space to the fourth user space.

14. The method according to any one of claims 1 to 13, characterized in that: The first screen is a central control screen in the vehicle, and the second screen is a co-pilot screen or a rear screen in the vehicle.

15. The method according to any one of claims 1 to 14, characterized in that: Before displaying the user interface of the first application in the first user space on the first screen and displaying the user interface of the first application in the second user space on the second screen, the method further includes: logging in to the first account on the first screen and logging in to the second account on the second screen; Before the first screen displays the user interface of the second application in the third user space, the method further includes: switching the account logged in on the first screen from the first account to a third account.

16. An electronic device, characterized in that: The electronic device comprises one or more processors, one or more memories, a first screen and a second screen; wherein the first screen, the second screen, the one or more memories are coupled to the one or more processors, the one or more memories are used to store computer program codes, and the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the method as described in any one of claims 1 to 15.

17. A vehicle, characterized in that: Comprising the electronic device as claimed in claim 16.

18. A computer-readable storage medium comprising instructions, characterized in that: When the instruction is executed on an electronic device including a first screen and a second screen, the electronic device executes the method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Multi-screen electronic equipment and use method of multi-screen electronic equipment

    CN120196295A

  • Android double-screen extraordinary image display method

    CN104123110A

  • Multi-user access method, multi-user access device and terminal

    CN106657567A

  • Method and device for displaying multi-user accounts through split screens

    CN108469969A

  • Method and device for operating multi-screen equipment, multi-screen equipment and storage medium

    CN116627292A