Method for managing cross-operating system application and electronic equipment
By mounting the first operating system and the second operating system on the electronic device and realizing information exchange across the operating system, the problem of difficulty in managing cross-operating system applications in the prior art is solved, timely perception of application status and update of default application settings is achieved, and user experience is improved.
Patent Information
- Application Number
- CN202311130728.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-29
- Filing Date
- 2023-08-31
- Publication Date
- 2025-02-28
AI Technical Summary
The prior art is difficult to effectively manage cross-operating system applications, especially in terms of perception of the status of the application and updating default application settings, resulting in a decline in user experience.
By mounting the first operating system and the second operating system on the electronic device, and realizing information exchange across the operating system, the application status information sent by the second operating system is obtained, and the default application settings or optional application settings of the first operating system are updated according to the information.
It realizes timely perception and management of cross-operating system applications, ensures consistency and improvement of user experience, and avoids the problem of not updating default application settings after application uninstallation.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of electronic devices, and more specifically, to a method for managing cross-operating system applications and an electronic device. Background Art
[0002] Based on the characteristics of different operating systems, the capabilities supported by the same application on different operating system platforms may be different. In order to meet the needs of users, electronic devices need to run applications on different operating systems. At present, electronic devices can run multiple applications of other operating systems through proxy services, but when managing the multiple applications, the electronic device cannot distinguish between the multiple applications, and when the multiple applications are uninstalled by the user, the native system side of the electronic device cannot perceive that the multiple applications have been uninstalled, resulting in a decrease in user experience. Therefore, how to manage cross-operating system applications has become an urgent problem to be solved. Summary of the invention
[0003] The present application provides a method for managing cross-operating system applications and an electronic device, which can timely perceive the status of cross-operating system applications, so that when an application of a second operating system is run on a first operating system, the application of the second operating system can maintain a consistent experience with the native application of the first operating system in application selection and default application setting scenarios, thereby improving the user experience.
[0004] In a first aspect, a method for managing cross-operating system applications is provided, the method being applied to an electronic device that is equipped with a first operating system and a second operating system, wherein the second operating system runs based on the first operating system, the first operating system is an Android operating system or a Hongmeng operating system, and the second operating system is different from the first operating system, the method comprising: obtaining first information sent by the second operating system, the first information being used to indicate a state of the first application, the first application being an application in the second operating system, the state of the first application including an installed state and an uninstalled state; and changing a default application setting or an optional application setting in the first operating system according to the first information.
[0005] In an embodiment of the present application, when the state of the first application in the second operating system changes, a first message can be sent to indicate the state of the first application. After obtaining the first information, the electronic device can change the corresponding default application settings or optional application settings, thereby ensuring timeliness, avoiding the problem of not being able to open files, and improving the user experience.
[0006] In combination with the first aspect, in certain implementations of the first aspect, before obtaining the first information, the first application is a default application or an optional application for the first file type, and the first information is used to indicate that the first application has been uninstalled, and changing the default application settings or optional application settings in the first operating system based on the first information includes: changing the default application settings or optional application settings based on the first information so that the first application is no longer the default application or optional application for the first file type.
[0007] In an embodiment of the present application, when the first application in the second operating system is uninstalled, a first message can be sent to indicate that the first application has been uninstalled. After obtaining the first message, the electronic device can change the corresponding default application settings or optional application settings, thereby ensuring timeliness, avoiding the problem of being unable to open files, and improving the user experience.
[0008] In combination with the first aspect, in certain implementations of the first aspect, the first application corresponds to a first component in a proxy application APK, and the proxy application is used to proxy the application in the second operating system, and the default application settings or optional application settings are changed based on the first information, including: disabling the first component based on the first information.
[0009] In combination with the first aspect, in some implementations of the first aspect, the first component includes an activity of the Android operating system.
[0010] In an embodiment of the present application, the electronic device may first pre-register a first component in the application selector, and the first component corresponds to the first application. When the first application running in the container is uninstalled, the second operating system may send information to notify that the first application has been uninstalled. After the electronic device determines that the first application has been uninstalled, the first component may be disabled. In an embodiment of the present application, a path from the second operating system in the container to the first operating system side is opened, so that the first operating system side can timely perceive the uninstallation of the second operating system's application, and the second operating system's application can be better managed, which helps to improve the user experience. In addition, in the implementation of the present application, a correspondence between the application and the component of the second operating system is established. Since the name of each component is different, the first operating system can distinguish between different second operating system applications.
[0011] In combination with the first aspect, in some implementations of the first aspect, the first application corresponds to a first proxy application, and the first proxy application is only used to run the first application as a proxy. The default application settings or optional application settings are changed based on the first information, including: uninstalling the first proxy application based on the first information.
[0012] In an embodiment of the present application, when the first application running in the container is uninstalled, the second operating system can send information to notify that the first application has been uninstalled. The first application corresponds to a first proxy APK, which is only used to run the first application as a proxy. Therefore, the electronic device can uninstall the first proxy APK so that the first application is no longer the default application of the first file type. In an embodiment of the present application, the path from the second operating system in the container to the first operating system side is opened up, so that the first operating system side can timely perceive the uninstallation of the second operating system's application, and the second operating system's application can be better managed, which helps to improve the user experience. In addition, each second operating system application can correspond to a proxy APK, so that when running multiple second operating system applications, the first operating system can distinguish the second operating system's applications by distinguishing the proxy APK.
[0013] When installing multiple applications of the second operating system on the first operating system, the file types supported by different applications are registered separately, and the life cycle of the registered subject and the application of the second operating system are managed synchronously, so that when the application of the second operating system is installed or uninstalled, the system's default application and application selector can be updated synchronously, thereby improving the user experience.
[0014] In combination with the first aspect, in certain implementations of the first aspect, before obtaining the first information, the first application is the default application for the first file type, and after changing the default application setting according to the first information, the method also includes: setting the second application as the default application for the first file type.
[0015] In the embodiment of the present application, the first application is the default application of the first file type. When the first application is uninstalled, the electronic device can determine that the second application is the default application of the first file type. When the electronic device detects the user's operation of opening a file of the first file type, the electronic device can open the file through the second application, thereby ensuring that the file is opened smoothly without the user having to perform additional settings.
[0016] In combination with the first aspect, in certain implementations of the first aspect, before obtaining the first information, the first application is the default application for the first file type. After changing the default application setting according to the first information, the method also includes: in response to the user's operation of opening the first file, displaying a first application selection interface, wherein the file type of the first file is the first file type, the first application selection interface includes a first control and a second application icon, the second application icon is associated with the second application, and the first control corresponds to setting a default application function; in response to the user's operation of selecting the second application icon, marking the second application icon; in response to the user's operation of clicking the first control, setting the second application as the default application for the first file type and opening the first file through the second application.
[0017] In an embodiment of the present application, the first application is the default application for the first file type. After the first application is uninstalled, when the electronic device detects an operation by a user to open an application of the first file type, in response to the operation, an application selection interface may be displayed. The application selection interface may include an icon that can open an application of the first file type. The electronic device may re-determine a new default application for the first file type based on the user's operation.
[0018] In combination with the first aspect, in certain implementations of the first aspect, the first application has a corresponding relationship with the first file type through a first component of the proxy application, and before obtaining the first information, the first component is in a disabled state, and the first information is used to indicate that the first application has been installed, and the default application settings or optional application settings in the first operating system are changed according to the first information, including: enabling the first component according to the first information.
[0019] In an embodiment of the present application, the proxy APK may first pre-register at least one component in the application selector, wherein the first component corresponds to the first application. After the second operating system running in the container installs the application of the second operating system, the second operating system may send information to notify the second operating system that the application installation is complete. After the electronic device determines that the application of the second operating system is installed, it may enable the first component to make the first application the default application or optional application of the first file type. In an embodiment of the present application, the path from the second operating system in the container to the first operating system side is opened, so that the installation of the application of the second operating system can be perceived in a timely manner on the first operating system side, and the application of the second operating system can be better managed, which helps to improve the user experience. In addition, in the implementation of the present application, a correspondence between the application of the second operating system and the component is established. Since the name of each component is different, the first operating system can distinguish between different applications of the second operating system.
[0020] In combination with the first aspect, in certain implementations of the first aspect, changing the default application settings or optional application settings in the first operating system based on the first information includes: obtaining application information of the first application; converting the application information of the first application into first application information of the first operating system; determining a first proxy application based on the first application information of the first operating system, the first proxy application being only used to proxy the first application; and registering the first application information of the first operating system to an application selector through the first proxy application to change the default application settings or the optional application settings.
[0021] In an embodiment of the present application, after the first application is successfully installed, the application information of the first application can be converted into the first application information of the first operating system, and the converted first application information of the first operating system can be associated with the first proxy APK, that is, the first application alone corresponds to the first proxy APK. The electronic device registers the application information to the application selector through the proxy APK, so that the application of the second operating system becomes the default application or optional application of the first file type. In an embodiment of the present application, the path from the second operating system in the container to the first operating system side is opened, so that the installation of the application of the second operating system can be perceived in time on the first operating system side, and the application of the second operating system can be better managed, which helps to improve the user experience. In addition, each application of the second operating system can correspond to a proxy APK, so that when running multiple applications of the second operating system, the first operating system can distinguish the applications of the second operating system by distinguishing the proxy APK.
[0022] In combination with the first aspect, in some implementations of the first aspect, the first application information includes one or more of the following: package name, application version, icon information, application description, and permissions.
[0023] In combination with the first aspect, in some implementations of the first aspect, the first operating system is the Android operating system or the Hongmeng operating system, and the second operating system is the Linux operating system or the Windows operating system.
[0024] In combination with the first aspect, in certain implementations of the first aspect, before obtaining the first information, the first application is the default application for the first file type, and the method also includes: updating the default application settings interface so that the default application settings interface no longer includes the icon or information of the first application.
[0025] In combination with the first aspect, in certain implementations of the first aspect, before obtaining the first information, the first application is an optional application of the first file type, and the method also includes: updating the optional application settings; in response to the user's operation of opening the first file, the file type of the first file is the first file type, and displaying an application selection interface, wherein the application selection interface no longer includes the icon or information of the first application.
[0026] In combination with the first aspect, in some implementations of the first aspect, the method further includes: updating a default application settings interface so that the default application settings interface includes information or an icon of the first application.
[0027] In combination with the first aspect, in certain implementations of the first aspect, the method also includes: updating the optional application settings; in response to the user opening a first file, the file type of the first file is the first file type, displaying an application selection interface, wherein the application selection interface adds an icon or information of the first application.
[0028] In combination with the first aspect, in some implementations of the first aspect, the first operating system includes a multi-application management module, a multi-component management module, an application selector, and a package management service PMS; the second operating system includes an application management module; obtaining the first information sent by the second operating system includes: the multi-application management module obtains the first information from the application management module; changing the default application settings or optional application settings in the first operating system according to the first information includes: the multi-application management module determines that the first application has been uninstalled according to the first information; the application management module communicates with the multi-component management module so that the multi-component management module determines that the first component is in the disabled state; the package management service receives second information sent by the multi-component management module through a customized interface, the second information is used to indicate that the first component is in the disabled state; the package management service disables the first component according to the second information so that the application selector updates the default application settings or the optional application settings.
[0029] It should be noted that the multi-application management module, multi-component management module, application selector, package management service and application management module are merely a logical functional division. There may be other division methods in actual implementation, and the above modules may also have other naming methods.
[0030] In combination with the first aspect, in certain implementations of the first aspect, the first operating system includes a multi-application management module, an application selector, and a package management service PMS; the second operating system includes an application management module; obtaining first information sent by the second operating system includes: the multi-application management module obtains the first information from the application management module; changing the default application settings or optional application settings in the first operating system according to the first information includes: the package management service receives second information sent by the multi-component management module through a customized interface, the second information is used to instruct the uninstallation of the first proxy application; the package management service uninstalls the first proxy application according to the second information, so that the application selector updates the default application settings or the optional application settings.
[0031] It should be noted that the multi-application management module, application selector, package management service, and application management module are merely a logical functional division. There may be other division methods in actual implementation, and the above modules may also have other naming methods.
[0032] In combination with the first aspect, in some implementations of the first aspect, the first operating system includes a multi-application management module, a multi-component management module, an application selector, and a package management service PMS; the second operating system includes an application management module; obtaining the first information sent by the second operating system includes: the multi-application management module obtains the first information from the application management module; changing the default application settings or the optional application settings in the first operating system according to the first information includes: the application management module communicates with the multi-component management module so that the multi-component management module determines that the first component is in an enabled state; the package management service receives second information sent by the multi-component management module through a customized interface, the second information being used to indicate that the first component is in the enabled state; the package management service starts the first component according to the second information so that the application selector updates the default application settings or the optional application settings.
[0033] In combination with the first aspect, in certain implementations of the first aspect, the first operating system includes a multi-application management module, an application selector, and a package management service PMS; the second operating system includes an application management module; obtaining the first information sent by the second operating system includes: the multi-application management module obtaining the first information from the application management module; changing the default application settings or optional application settings in the first operating system according to the first information includes: the multi-application management module obtaining application information of the first application; the multi-application management module converting the application information of the first application into application information of the first proxy application; the first proxy application registering the application information of the first proxy application with the application selector, so that the application selector updates the default information settings or optional application settings.
[0034] In a second aspect, an electronic device is provided, comprising: one or more processors; one or more memories; the one or more memories storing one or more computer programs, the one or more computer programs comprising instructions, which, when executed by the one or more processors, enable the electronic device to execute the first aspect or any possible implementation of the first aspect.
[0035] According to a third aspect, a computer-readable storage medium is provided, which includes a computer program or instructions. When the computer program or instructions are executed on a computer, the first aspect and any possible implementation method of the first aspect are executed.
[0036] According to a fourth aspect, a computer program product is provided. The computer program product includes a computer program or instructions. When the computer program or instructions are run on a computer, the first aspect and any possible implementation method of the first aspect are executed.
[0037] According to a fifth aspect, a computer program is provided, which, when executed on a computer, enables the method in the first aspect and any possible implementation thereof to be executed.
[0038] In the sixth aspect, an electronic device is provided, which includes modules / units for executing the above aspects or any possible design method of the above aspects; these modules / units can be implemented by hardware, or the corresponding software can be implemented by hardware.
[0039] In a seventh aspect, a computer program product is provided. When the computer program product is run on an electronic device, the electronic device executes the method in the first aspect and any possible implementation manner thereof.
[0040] Among them, for the beneficial effects of the second to seventh aspects, please refer to the beneficial effects of the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0042] Figure 2 A schematic diagram of the PC application engine fusion item is shown.
[0043] Figure 3 It is a schematic diagram of the software system architecture of the electronic device provided in the embodiment of the present application.
[0044] Figure 4 It is a set of GUIs provided by the embodiments of the present application.
[0045] Figure 5 This is another set of GUIs provided by an embodiment of the present application.
[0046] Figure 6 This is a schematic flow chart of the current proxy APK installation of Linux applications, registration of default applications and application selectors, and uninstallation of Linux applications.
[0047] Figure 7 It is a schematic flowchart of a method for managing cross-operating system applications provided in an embodiment of the present application.
[0048] Figure 8 This is a schematic flow chart of registering Linux applications with a multi-application management module provided in an embodiment of the present application.
[0049] Fig. 9 It is another schematic diagram of the software system architecture of the electronic device provided in an embodiment of the present application.
[0050] Fig.10 It is a schematic flowchart of a method for managing cross-operating system applications provided in an embodiment of the present application.
[0051] Fig.11 It is a schematic flowchart of a method for managing cross-operating system applications provided in an embodiment of the present application. DETAILED DESCRIPTION
[0052] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0053] The terms used in the following embodiments are only for the purpose of describing specific embodiments, and are not intended to be used as limitations on the present application. As used in the specification and the appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include expressions such as "one or more", unless there is a clear contrary indication in the context. It should also be understood that in the following embodiments of the present application, "at least one", "one or more" refer to one, two or more. The term "and / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist; for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.
[0054] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear at different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0055] The following describes an electronic device, a user interface for such an electronic device, and embodiments for using such an electronic device. In some embodiments, the electronic device may be a portable electronic device that also includes other functions such as a personal digital assistant and / or a music player function, such as a mobile phone, a tablet computer, a wearable electronic device with wireless communication function (such as a smart watch), etc. Exemplary embodiments of portable electronic devices include but are not limited to devices equipped with Or a portable electronic device with other operating systems. The portable electronic device may also be other portable electronic devices, such as a laptop computer, etc. It should also be understood that in some other embodiments, the electronic device may not be a portable electronic device, but a desktop computer.
[0056] For example, Figure 1 1 shows a schematic diagram of the structure of the electronic device 100. 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.
[0057] It is to be understood that the structure illustrated in the embodiment of the present application does 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 in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0058] 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 processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0059] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0060] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0061] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0062] 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.
[0063] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0064] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0065] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0066] Based on the characteristics of different operating systems, the capabilities supported by the same application on different operating system platforms may be different. In order to meet the needs of users, electronic devices need to run applications on different operating systems. For example, the same word processing application includes an Android version and a Linux version, where the Linux version of the word processing application can provide richer functions. In order to meet the needs of users using the Linux version of the word processing application on an Android platform computer, the Android platform computer needs to run the Linux version of the word processing application. At present, electronic devices whose native systems are the Android operating system or the Hongmeng operating system can run applications of other operating systems through proxy services.
[0067] Before introducing the software system architecture of the electronic device, several concepts involved in the embodiments of the present application are first explained.
[0068] Default application: The operation of a certain task can be performed by a specific application. For example, the default application for a PDF document is application #1. When the electronic device detects the user's operation of opening a PDF document, in response to the operation, the electronic device can start application #1 to open the PDF document.
[0069] It is understandable that the default application can be changed. For example, the original default application of the PDF document is application #1, and the electronic device can change the default application of the PDF document from application #1 to application #2 in response to the user's operation.
[0070] Optional applications: Certain tasks can be performed by multiple applications. For example, the optional applications for a PDF document are application #1 and application #2. When the electronic device detects the user's operation to open a PDF document, in response to the operation, an application selection interface may be displayed. The application selection interface includes icons of application #1 and application #2. The electronic device needs to determine whether to open the PDF document with application #1 or application #2 based on the user's operation.
[0071] Activity: It is a basic component of the Android operating system and an interface for interacting with users. Activity is one of the basic units of the user interface. Generally speaking, an activity represents an interface for interacting with users. Activity can include user interface (UI) elements (such as controls, text information, icons, etc.). In the Android operating system, you can control the display of UI elements and the ability to register activities by disabling or enabling activities. When using activities, you need to define the activity layout first, then instantiate the activity and associate it with the layout, and then register events in the activity. When the user triggers these events, the application can respond accordingly. When the activity is created, it will be stored in the stack.
[0072] It is understandable that other operating systems may also include components similar to the activity function in the Android operating system, and the component may have other names.
[0073] PC Application Engine: Based on the feature of running Linux on Harmony OS, users can use Linux applications on electronic devices equipped with Harmony OS to improve productivity. PC Application Engine focuses on integrated experience, and the icons of Linux applications are displayed in the same way as those of Android applications. Figure 2 FIG. 4 shows a schematic diagram of the fusion items provided by the PC application engine. Figure 2 As shown in (a) of FIG, the PC application engine can integrate the package name format, permissions and icons of Linux applications and Android applications. For some Linux applications, the PC application engine can also integrate the default opening method and application selector. When an electronic device installs a Linux application, it can be displayed on the following Figure 2 The default application setting interface 201 shown in (b) and Figure 2 The application selection interface 202 shown in (c) in FIG. 1 is a diagram of an electronic device. In some cases, after the Linux application is installed in the electronic device, the name displayed in the default application setting interface 201 may be the name of the Linux application or may be a PC application engine.
[0074] However, the package management method of Linux applications is quite different from that of Android native applications, which is mainly reflected in the following aspects:
[0075] 1. Linux applications are currently implemented through proxy applications (APK). The Android operating system uses APK as the granularity for default applications and application selectors. When running multiple Linux applications, it is impossible to distinguish different Linux applications.
[0076] 2. When a Linux application is uninstalled, the Android operating system is not aware of it, resulting in residual application information registered by the proxy APK after uninstallation, causing the corresponding file type to fail to open.
[0077] like Figure 2 As shown in (d), the default application for Word documents, Excel tables and PowerPoint presentations is the PC application engine (such as the Linux version of WPS Office). After uninstalling the Linux version of WPS Office, the default application setting interface 201 of the electronic device will still display that the default application for PDF documents and Excel tables is the PC application engine, which fails to be updated in time.
[0078] like Figure 2 As shown in (e), the PC application engine (such as the Linux version of WPS Office) can be an optional application for opening a word document. When the user opens a pdf document, the application icon 203 of WPS Office will still be displayed in the application selection interface 202 and cannot be updated in time.
[0079] Please note that for the description of the causes of the above problems, please refer to Figure 6 The description is not expanded here.
[0080] The following uses an electronic device equipped with an Android system and running Linux through a container or a virtual machine as an example to explain the software system architecture of the electronic device.
[0081] Figure 3 The schematic diagram of the software system architecture of the electronic device provided in the embodiment of the present application is shown, the first operating system of the electronic device is an Android operating system, and the second operating system is a Linux operating system. Figure 3 As shown, the Android operating system and the Linux operating system use the Linux kernel. The Android operating system may also include an application layer and an application framework layer. The Linux operating system may include a Linux application management module, Linux applications, an X server, and a window service.
[0082] The application framework layer of the Android operating system provides an application programming interface (API) and a programming framework for the applications of the application layer, which may include: input manager service (IMS), activity manager service (AMS), window manager service (WMS), package manager service (PMS) and application selector. Among them, IMS is used to manage input operations detected by the electronic device, AMS is used to manage the activities of each application, WMS is used to manage the windows of each application, PMS is used to manage package information, including application installation, uninstallation, update and parsing AndroidManifest.xml, etc. The application selector is used to manage optional applications for opening a certain file type. For example, the application selector can determine that the optional applications for opening a doc file are application #1 and application #2, and the optional applications for opening a rar file are application #3 and application #4.
[0083] In some embodiments, the application selector is also used to manage the default application of a certain file type. For example, the application selector can determine that the default application for opening a doc file is application #1, and the default application for opening a rar file is application #3. In other words, when the electronic device detects the user's operation of opening a doc file, application #1 can be directly launched.
[0084] Alternatively, in other embodiments, the default application for a certain file type may also be managed by other modules.
[0085] It should be noted that the Android operating system of the electronic device may also include Figure 3 The hardware abstraction layer and system runtime are not shown in the figure. The system runtime may include: Android runtime. The Android runtime may include core libraries and virtual machines. The Android runtime is responsible for the scheduling and management of the Android operating system. The system runtime may also include: C library or C++ library. The application layer and the application framework layer run in the virtual machine. The virtual machine executes the java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform object life cycle management, stack management, thread management, security and exception management, and garbage collection and other functions. The hardware abstraction layer may include various types of sensors, such as Figure 1 Various types of sensors introduced in.
[0086] When an electronic device runs a Linux application across systems, it can open a proxy Android application package (APK) at the application layer in the Android operating system. The Android system interacts with the Linux operating system through the proxy APK and displays the application corresponding to the proxy APK running in the Linux operating system.
[0087] The proxy APK can also be called a shell application or shell APK. It is mainly responsible for creating the side window of the Android operating system, displaying content, and capturing keyboard and mouse events.
[0088] The proxy APK has a communication channel with the Linux operating system, and can transmit information to the Linux operating system and receive information sent by the Linux system. For example, the proxy APK can send startup information for starting an application located in the Linux operating system to the Linux operating system, can send detected input events to the Linux operating system, and can also receive window display information (such as refreshing the displayed interface) or window management information (such as adjusting the size or position of the display) sent by the Linux operating system.
[0089] The proxy APK may include: main activity and app activity. The main activity is the main program of the proxy APK, which is used to start the proxy APK. The app activity may be an activity corresponding to an application running in the Linux operating system. For example, after the Linux operating system starts the application according to the proxy APK, the proxy APK may establish an app activity corresponding to the application in the proxy APK according to the information sent by the Linux operating system.
[0090] The proxy APK may also register application information of the Linux application to associate the Linux application with at least one file type. The association of the Linux application with at least one file type may be understood as making the Linux application the default application for opening files of the at least one file type, or making the Linux application an optional application for files of the at least one file type.
[0091] For example, the Linux operating system includes a Linux application #1, and the proxy APK may register the application information of the Linux application #1 to make the Linux application #1 a default application for opening PDF files.
[0092] Figure 4 A set of graphical user interfaces (GUIs) provided by an embodiment of the present application is shown.
[0093] like Figure 4 As shown, the electronic device displays interface 401 , which is a default application setting interface. After the electronic device registers Linux application #1 as the default application for PDF files, the electronic device can display the corresponding default application settings on interface 401 .
[0094] When the electronic device detects that the user opens file #1, which is a pdf file, the electronic device can respond to the operation by starting the proxy APK and obtaining the interface of Linux application #1 through the proxy APK to display the content of file #1.
[0095] For another example, the Linux operating system includes Linux application #1, and the proxy APK can register the Linux application #1 to the application selector corresponding to the pdf file. When the electronic device detects that the user opens the file #1, and the file #1 is a pdf file, the electronic device can display the application selection interface, which includes the icon of Linux application #1. Figure 5 Provide explanation.
[0096] Figure 5 Another set of GUIs provided by an embodiment of the present application is shown.
[0097] like Figure 5 As shown in (a) of FIG. 1 , the electronic device displays an interface 501, which includes a file 502, which is a pdf file. The electronic device detects that the user clicks on the file 502, and in response to the operation, may display the following Figure 5 GUI shown in (b) in .
[0098] like Figure 5 As shown in (b) of FIG. 5 , in response to the user clicking on file 502, the electronic device may display an application selection interface 503, wherein the application selection interface 503 includes an icon 504, which is an icon corresponding to Linux application #1. The electronic device detects the user selecting icon 504, and in response to the operation, may display the following Figure 5 GUI shown in (c) in FIG.
[0099] like Figure 5As shown in (c), in response to the user selecting icon 504, the electronic device can highlight icon 504. When the electronic device detects that the user clicks control 505, in response to the operation, the proxy APK can be started, and the interface of Linux application #1 can be obtained through the proxy APK to display the content of file 502. When the electronic device detects that the user clicks control 506, in response to the operation, the proxy APK can be started, and the interface of Linux application #1 can be obtained through the proxy APK to display the content of file 502, and Linux application #1 can be registered as the default application for pdf files through the proxy APK.
[0100] Combine the following Figure 6 This section describes a schematic flow chart of the current proxy APK installation of Linux applications, registration of default applications and application selectors, and uninstallation of Linux applications.
[0101] like Figure 6 As shown, the method includes:
[0102] S601, the proxy APK obtains the installation package of Linux application #1.
[0103] Exemplarily, the proxy APK can be obtained through an application store or other channels.
[0104] S602, the proxy APK sends the installation package of Linux application #1 to the Linux application management module.
[0105] Correspondingly, the Linux application management module receives the installation package of Linux application #1 sent by the proxy APK.
[0106] S603, the Linux application management module installs Linux application #1.
[0107] The Linux application management module receives the Linux application management module and can install the Linux application #1.
[0108] S604, the proxy APK registers the Linux application #1 to the application selector.
[0109] The proxy APK may register the Linux application #1 with the application selector to make the Linux application #1 a default application for the file type #1, or make the Linux application #1 an optional application corresponding to the file type #1.
[0110] S605, the proxy APK sends instruction information #1 to the Linux application management module.
[0111] Correspondingly, the Linux application management module receives the indication information #1 sent by the proxy APK, where the indication information #1 is used to instruct to uninstall the Linux application #1.
[0112] S606, the Linux application management module uninstalls the Linux application #1 according to the instruction information #1.
[0113] In summary, electronic devices manage multiple Linux applications through a proxy APK, but the registration of default applications and management of application selectors in the Android operating system are based on the APK granularity. When there are multiple Linux applications, the Android operating system cannot distinguish between different Linux applications. In addition, when a Linux application is uninstalled, the Android operating system cannot sense it, resulting in residual application information registered by the proxy APK after uninstallation. Figure 4 and Figure 5 Taking the GUI shown as an example, after uninstalling Linux application #1, information of Linux application #1 is still retained in interface 401 and application selection interface 503, resulting in failure to open the PDF file, which reduces the user experience.
[0114] Based on this, an embodiment of the present application provides a method for managing cross-operating system applications, where a first operating system can perceive the status of an application in a second operating system and timely adjust the status of a default application and an application selection interface according to the status of the application in the second operating system.
[0115] Continue to refer Figure 3 The embodiment of the present application relates to a multi-activity management module and a multi-application management module in the proxy APK. The multi-activity management is used to manage the app activities corresponding to the Linux application, and the multi-application management module is used to record the status of the Linux application and save the application information of the Linux application. In addition, the PMS in the embodiment of the present application has an interface for communicating with the proxy APK, and the proxy APK can pass information to the PMS through the interface.
[0116] Figure 7 A schematic flow chart of a method 700 for managing cross-operating system applications provided in an embodiment of the present application is shown. Figure 7 As shown, the method 700 includes:
[0117] S701, the multi-application management module traverses the application list.
[0118] The application list is an application list of Linux applications. The application list may include but is not limited to application information such as package name, version number, and application description of the Linux application.
[0119] The method for obtaining the application list is not limited in the embodiment of the present application.
[0120] Exemplarily, the application list may be preset by the first operating system. It is understandable that when the first operating system is updated, the application list may also be updated.
[0121] Exemplarily, the application list may be user-configured.
[0122] S702: The multi-activity management module creates an activity corresponding to the application list according to the application list.
[0123] The multi-application management module traverses the application list and can communicate with the multi-activity management module, so that the multi-activity management module can create activities corresponding to the Linux applications.
[0124] Exemplarily, the activity created by the multi-activity management module may correspond to the package name of the Linux application.
[0125] For example, the application list includes Linux application #1, and the multi-activity management module can create activity #1, which corresponds to the package name of Linux application #1.
[0126] For another example, the application list includes Linux application #1 and Linux application #2, and the multi-activity management module can create activity #1 and activity #2, where activity #1 corresponds to the package name of Linux application #1, and activity #2 corresponds to the package name of Linux application #2.
[0127] It is understandable that in Figure 7 In the example shown, the operating system is an Android operating system. When the operating system is not limited, the multi-activity management module can also be called a multi-component management module.
[0128] S703, the multi-application management module registers the Linux application with the application selector.
[0129] The multi-application management module can register the Linux application with the application selector. When the multi-application management module registers the Linux application with the application selector, it is implemented through the activity created in step S602. In other words, the multi-application management module can register the activity with the application selector, and the activity corresponds to the Linux application. Therefore, the multi-application management module registering the activity with the application selector can be understood as the multi-application management module registering the Linux application with the application selector.
[0130] It is understandable that after the multi-application management module registers the Linux application with the application selector, the corresponding relationship between the Linux application and the file type can be determined. Figure 7 Provide explanation.
[0131] Figure 8 A schematic flow chart of registering Linux applications by a multi-application management module provided in an embodiment of the present application is shown.
[0132] like Figure 8 As shown in (a), after the multi-application management module traverses the application list and determines that it includes Linux application #1, Linux application #2 and Linux application #3, the multi-application management module can create corresponding activity #1, activity #2 and activity #3. The multi-application management module can register the above three activities to the application selector. Among them, Linux application #1 corresponding to activity #1 is registered as the default application of file type #1 and the optional application of file type #2, Linux application #2 corresponding to activity #2 is registered as the optional application of file type #3, and Linux application #3 corresponding to activity #3 is registered as the optional application of file type #4.
[0133] The codes involved in steps S701 to S703 are as follows:
[0134] For appInfo in appList:
[0135] RegisterAPPMimeType(appInfo.mimeType);
[0136] RegisterDefaultApp();
[0137] CreateActivityByAPPList(appList);
[0138] It should be noted that the correspondence between the Linux application and the file type established by the multi-application management module in step S703 is in an inactive state (or called an inactive state). In other words, the correspondence established through steps S701-S703 has not yet taken effect. Only after the corresponding Linux application is installed on the electronic device can the correspondence be activated (or called enabled). For details, please refer to the description of the subsequent steps.
[0139] For example, taking the registration of Linux application #1 as an optional application of file type #2 as an example, the electronic device can display an application selection interface in response to the user's operation of opening file type #2, but the application selection interface will not include the icon corresponding to Linux application #1.
[0140] That is to say, the correspondence between the Linux application and the file type established by the multi-application management module is in an inactive state, which means that the activity corresponding to the Linux application is in a disabled state.
[0141] S704, the multi-application management module obtains the installation package of Linux application #1.
[0142] In the embodiment of the present application, there is no limitation on the manner in which the multi-application management module obtains the installation package of Linux application #1.
[0143] Exemplarily, the multi-application management module may obtain the installation package of Linux application #1 through the application store.
[0144] Exemplarily, the multi-application management module may obtain the installation package of Linux application #1 from the official website of Linux application #1.
[0145] S705, the multi-application management module sends information #1 to the Linux application management module.
[0146] Correspondingly, the Linux application management module receives information #1 sent by the multi-application management module, where the information #1 is used to instruct the installation of Linux application #1.
[0147] In some embodiments, the information #1 includes an installation package of the Linux application #1.
[0148] In some embodiments, the information #1 includes a storage path of the Linux application #1.
[0149] S706, the Linux application management module installs Linux application #1.
[0150] In some embodiments, information #1 includes an installation package of Linux application #1. After receiving information #1, the Linux application management module can obtain the installation package of Linux application #1 and then install Linux application #1.
[0151] In some embodiments, information #1 includes a storage path of Linux application #1. After receiving information #1, the Linux application management module can obtain the installation package of Linux application #1 according to the storage path, and then install Linux application #1.
[0152] S707, the Linux application management module sends information #2 to the multi-application manager.
[0153] Correspondingly, the multi-application manager receives information #2 sent by the Linux application management module, where the information #2 is used to indicate that the Linux application #1 has been installed.
[0154] S708, the multi-application manager saves the application information of Linux application #1.
[0155] After the multi-application manager determines that the Linux application #1 is installed, the application information of the Linux application #1 may be saved, and the application information includes but is not limited to the package name and the installation path.
[0156] S709, the multi-activity management module searches for activity#1 corresponding to Linux application#1.
[0157] After determining that the Linux application #1 is successfully installed, the multi-application manager may communicate with the multi-activity management module so that the multi-activity management module may search for the activity #1 corresponding to the Linux application #1 in the created activities.
[0158] For example, the multi-activity management module creates three activities, namely activity#1, activity#2, and activity#3. Activity#1 corresponds to Linux application#1, activity#2 corresponds to Linux application#2, and activity#3 corresponds to Linux application#3. After the multi-application manager module determines that Linux application#1 is successfully installed, it can communicate with the multi-activity management module, and the multi-activity management module can find the corresponding activity#1 according to the package name of Linux application#1.
[0159] S710: The multi-activity management module determines that the state of activity#1 is an enabled state.
[0160] The multi-activity management module finds activity#1. Since the Linux application #1 corresponding to activity#1 has been installed, it can be determined that the status of activity#1 is enabled.
[0161] S711, the multi-activity management module sends information #3 to the PMS.
[0162] Correspondingly, the PMS receives information #3 sent by the multi-activity management module, where the information #3 is used to instruct to enable activity #1, and the information #3 may include the name of activity #1.
[0163] S712, PMS activates activity#1.
[0164] After receiving information #3, the PMS can determine and activate activity #1.
[0165] It can be understood that after the PMS enables activity#1, the relationship between the Linux application#1 corresponding to the activity#1 and the file type is activated.
[0166] For example, in the above steps, Linux application #1 is registered as the default application for file type #1 and the optional application for file type #2. In response to the user's operation of opening a file of file type #1, the electronic device can start the proxy APK, start Linux application #1 through the proxy APK, and then open the file of file type #1 through Linux application #1. In response to the user's operation of opening a file of file type #2, the electronic device can display an application selection interface, which includes an icon of Linux application #1.
[0167] The codes involved in steps S704 to S712 are as follows:
[0168] DownloadApp(packageName);
[0169] CopyPackageToContainer(packageFilePath);
[0170] InstallContainerAPP(containerID,packageFilePath);
[0171] SaveAPPInfo(packageName,InstallPath);
[0172] GetActivityByPackageName(packageName);
[0173] EnableActivity(activityName);
[0174] Continue to refer Figure 8 ,like Figure 8As shown in (a) in the figure, since Linux application #1 is installed, activity #1 can be enabled. Meanwhile, since Linux application #2 and Linux application #3 are not installed, activity #2 and activity #3 will not be enabled.
[0175] It should be noted that in the introduction Figure 7 Here, it is taken that the first operating system is an Android operating system and the second operating system is a Linux operating system, but the embodiments of the present application are not limited to this. For example, the first operating system may also be a Hongmeng operating system, and the second operating system may also be a Windows operating system.
[0176] It should also be noted that the multi-application management module and the multi-activity management module in the proxy APK are only a logical functional division, and there may be other division methods in actual implementation. For example, in some other embodiments of the present application, the multi-application management module and the multi-activity management module may be integrated into one module. For another example, in some other embodiments of the present application, the multi-application management module and the multi-activity management module may be divided into three modules, and the three modules perform the steps performed by the multi-application management module and the multi-activity management module in the above steps.
[0177] In an embodiment of the present application, the proxy APK may first pre-register at least one activity in the application selector, and the at least one activity corresponds to the application of the second operating system. After the second operating system running in the container installs the application of the second operating system, the second operating system may send information to notify the second operating system that the application installation is complete. After the proxy APK determines that the application of the second operating system is installed, it may communicate with the PMS to enable the activity corresponding to the application of the second operating system, thereby activating the association between the application of the second operating system and one or more file types, making the application of the second operating system the default application or optional application of the one or more file types. In an embodiment of the present application, by adding an interface in the PMS, the path from the second operating system in the container to the first operating system side is opened, so that the first operating system side can timely perceive the installation of the application of the second operating system, and can better manage the application of the second operating system, which helps to improve the user experience.
[0178] In addition, in the implementation of this application, the proxy APK is an activity created according to the application list, thereby establishing a correspondence between the application and the activity of the second operating system. Since each activity has a different name, the first operating system can distinguish different applications of the second operating system.
[0179] The method provided in the embodiment of the present application can separately register the file types supported by different applications when multiple Linux applications are installed on the Android operating system, and synchronously manage the registered subject and the Linux life cycle, so that when the Linux application is installed or uninstalled, the system's default application and application selector can be synchronously updated to improve the user experience.
[0180] As mentioned above, when a Linux application is uninstalled, the Android operating system cannot perceive it, resulting in the application information registered by the proxy APK remaining after uninstallation. Therefore, in an embodiment of the present application, when a Linux application is uninstalled, the Linux application management module can also send uninstall information to the proxy APK to disable the corresponding activity after uninstalling the Linux application. For details, please continue to refer to Figure 7 .
[0181] like Figure 7 As shown, in some embodiments of the present application, the method 700 further includes:
[0182] S713, the multi-application management module sends information #4 to the Linux application management module.
[0183] Correspondingly, the Linux application management module receives information #4 sent by the multi-application management module, where the information #4 is used to instruct to uninstall the Linux application #1.
[0184] In some embodiments, the information #4 includes the package name of the Linux application #1.
[0185] In some embodiments, the information #4 includes the installation path of the Linux application #1.
[0186] Exemplarily, the multi-application management module detects an operation of uninstalling Linux application #1 by a user, and in response to the operation, the Linux application management module may send information #4.
[0187] In the embodiment of the present application, there is no limitation on the user's operation of uninstalling Linux application #1.
[0188] For example, a user may uninstall Linux application #1 through the management interface of the application store.
[0189] For another example, the user can long press the icon of Linux application #1 on the desktop, and then select the delete control to uninstall Linux application #1.
[0190] S714, the Linux application management module uninstalls the Linux application #1 according to the information #4.
[0191] After receiving the information #4, the Linux application management module can uninstall the Linux application #1 according to the information #4.
[0192] S715, the Linux application management module sends information #5 to the multi-application management module.
[0193] Correspondingly, the multi-application management module receives information #5 sent by the Linux application, where the information #5 is used to indicate that the Linux application #1 has been uninstalled.
[0194] After uninstalling the Linux application #1, the Linux application management module may send information #5 to the multi-application management module to indicate that the Linux application #1 has been uninstalled.
[0195] S716, the multi-activity management module searches for activity#1 corresponding to Linux application#1.
[0196] After determining that Linux application #1 is uninstalled, the multi-application manager may communicate with the multi-activity management module so that the multi-activity management module can search for activity #1 corresponding to Linux application #1 in the created activities.
[0197] For example, the multi-activity management module creates three activities, namely activity#1, activity#2 and activity#3. Activity#1 corresponds to Linux application#1, activity#2 corresponds to Linux application#2, and activity#3 corresponds to Linux application#3. After the multi-application manager module determines that the Linux application#1 is uninstalled, it can communicate with the multi-activity management module, and the multi-activity management module can find the corresponding activity#1 according to the package name of Linux application#1.
[0198] S717: The multi-activity management module determines that the status of activity#1 is disabled.
[0199] The multi-activity management module finds activity#1. Since the Linux application #1 corresponding to activity#1 has been uninstalled, it can be determined that the status of activity#1 is disabled.
[0200] S718, the multi-activity management module sends information #6 to the PMS.
[0201] Correspondingly, the PMS receives information #6 sent by the multi-activity management module, where the information #6 is used to indicate disabling activity #1, and the information #6 may include the name of activity #1.
[0202] S719, PMS disables activity#1.
[0203] After receiving information #6, the PMS can determine and disable activity #1.
[0204] It is understandable that after the PMS disables activity#1, the relationship between the Linux application #1 corresponding to the activity#1 and the file type is deactivated. In other words, the Linux application #1 is no longer the default application or optional application for a certain file type.
[0205] For example, before Linux application #1 is uninstalled, Linux application #1 is the default application for file type #1 and the optional application for file type #2. After Linux application #1 is uninstalled, the electronic device detects the user's operation of opening a file of file type #1, and in response to the operation, the user may be prompted that Linux application #1 has been uninstalled. The electronic device detects the user's operation of opening a file of file type #2, and in response to the operation, the application selection interface may be displayed, and the application selection interface no longer includes the icon of Linux application #1.
[0206] The codes involved in steps S713 to S719 are as follows:
[0207] RemoveContainerAPP(packageName);
[0208] GetActivityByPackageName(packageName);
[0209] DisableActivity(activityName);
[0210] ---------------------PMS processStart--------------------------
[0211] isLinuxAPP = CheckAPPType (packageName); / / Check if it is a Linux application
[0212] isLinuxAPPActivity = CheckAPPType (packageName); / / Check if it is a Linux application activity
[0213] if(isLinuxAPP&&isLinuxAPPActivity):
[0214] SetAlternateAsPreferred(packageName,userId);
[0215] ---------------------PMS processEnd--------------------------
[0216] DeleteAPPInfo(packageName);
[0217] Continue to refer Figure 8 ,like Figure 8 As shown in (b), since Linux application #1 has been uninstalled, activity #1 can be changed from an enabled state to a disabled state.
[0218] In the embodiment of the present application, the proxy APK may first pre-register at least one activity in the application selector, and the at least one activity corresponds to the application of the second operating system. When the application of the second operating system has been installed, the activity corresponding to the application of the second operating system is enabled. When the second operating system running in the container uninstalls the application of the second operating system, the second operating system may send information to notify the second operating system that the application has been uninstalled. After the proxy APK determines that the application of the second operating system has been uninstalled, it may communicate with the PMS to disable the activity corresponding to the application of the second operating system, thereby deactivating the association relationship between the application of the second operating system and one or more file types, so that the application of the second operating system is no longer the default application or optional application of the one or more file types. In the embodiment of the present application, by adding an interface in the PMS, the path from the second operating system in the container to the first operating system side is opened, so that the first operating system side can timely perceive the uninstallation of the application of the second operating system, and can better manage the application of the second operating system, which helps to improve the user experience. In addition, in the implementation of the present application, the proxy APK is an activity created according to the application list, so the corresponding relationship between the application of the second operating system and the activity is established. Since the name of each activity is different, the first operating system can distinguish different applications of the second operating system.
[0219] When introducing the above-mentioned method for managing cross-operating system applications, the electronic device can manage multiple Linux applications in the container with one proxy APK, but the embodiments of the present application are not limited to this. In other embodiments of the present application, each Linux application in the container corresponds to one proxy APK. Fig. 9 Another software system architecture provided in an embodiment of the present application is introduced.
[0220] like Fig. 9 As shown, the Android operating system and the Linux operating system adopt (Linux kernel). The Android operating system may also include an application layer and an application framework layer. The Linux operating system may include a Linux application management module, Linux applications, an X server (Xserver) and a window service.
[0221] Among them, the application layer of the Android operating system includes multiple proxy APKs and multi-application management modules, and the application framework layer may include: IMS, AMS, WMS, PMS and application selector.
[0222] and Figure 3 The software system architecture shown is different from Fig. 9 The multi-application management module shown is independent of the proxy APK, and Figure 3 The multi-application management module shown is a module of the proxy APK.
[0223] Fig. 9 In addition to including an interface for communicating with the multi-application management module, the PMS shown can also provide Linux application extension services, that is, the PMS is pre-set with preset rules and can provide the ability to convert the application information of Linux applications into the application information of Android applications. As shown in Table 1, the application package name, application version, application icon, etc. of the Linux application are converted into the format of the Android application. After the application information of the Linux application is converted into the application information of the Android application, the converted application information of the Android application can be bound to a proxy APK, thereby completing the binding of the Linux application and the proxy APK. For specific instructions, please refer to the Fig.10 Description.
[0224] Table 1 is a schematic diagram of converting application information of Linux applications into application information of Android applications.
[0225]
[0226]
[0227] It should be noted that the Android operating system of the electronic device may also include Fig. 9The hardware abstraction layer and system runtime library are not shown.
[0228] Fig.10 An exemplary flow chart of a method 1000 for managing cross-operating system applications provided by an embodiment of the present application is shown. Fig.10 As shown, the method includes:
[0229] S1001, the multi-application management module obtains the installation package of Linux application #1.
[0230] S1002, the multi-application management module sends information #1 to the Linux application management module.
[0231] Correspondingly, the Linux application management module receives information #1 sent by the multi-application management module, where the information #1 is used to instruct the Linux application management module to install Linux application #1.
[0232] S1003, the Linux application management module installs Linux application #1 according to information #1.
[0233] It should be understood that the description of step S1001 to step S1003 is similar to the description above and will not be repeated here for the sake of brevity.
[0234] S1004, the Linux application management module sends information #2 to the multi-application management module.
[0235] Correspondingly, the multi-application management module receives information #2 sent by the Linux application management module, where the information #2 is used to indicate that the Linux application has been installed, and the information #2 includes application information of the Linux application #1.
[0236] S1005, the multi-application management module converts the application information of Linux application #1 into the application information of proxy APK #1.
[0237] After receiving the information #2 sent by the Linux application management module, the multi-application management module can convert the Linux application #1 information into the application information #1 of the Android application, and associate the application information #1 of the Android application with the proxy APK #1.
[0238] In some embodiments, the proxy APK#1 is preset. After the multi-application management module converts the Linux application #1 information into the application information #1 of the Android application, the application information #1 of the Android application can be associated with the preset proxy APK#1.
[0239] In some embodiments, the multi-application management module may create a proxy APK#1 based on the application information of the Android application.
[0240] S1006, proxy APK#1 registers application information with the application selector.
[0241] The proxy APK#1 may register application information with the application selector to make the Linux application a default application or an optional application for the file type #1.
[0242] It can be understood that the application information registered by the proxy APK#1 with the application selector is the application information #1 of the Android application.
[0243] In an embodiment of the present application, after the application of the second operating system is successfully installed, the application information of the application of the second operating system can be converted into the application information of the application of the first operating system, and the converted application information of the application of the first operating system can be associated with the proxy APK, that is, each application of the second operating system corresponds to a separate proxy APK. The proxy APK can register the application information with the application selector, so that the application of the second operating system becomes the default application or optional application of a certain file type. In an embodiment of the present application, by adding an interface for communicating with the proxy APK in the PMS and the ability to convert the application information of the application of the second operating system into the application information of the application of the first operating system, the path from the second operating system in the container to the first operating system side is opened, so that the installation of the application of the second operating system can be perceived in time on the first operating system side, and the application of the second operating system can be better managed, which helps to improve the user experience. In addition, each application of the second operating system can correspond to a proxy APK, so that when running multiple applications of the second operating system, the first operating system can distinguish the applications of the second operating system by distinguishing the proxy APK.
[0244] The method provided in the embodiment of the present application can separately register the file types supported by different applications when multiple Linux applications are installed on the Android operating system, and synchronously manage the registered subject and the Linux life cycle, so that when the Linux application is installed or uninstalled, the system's default application and application selector can be synchronously updated to improve the user experience.
[0245] As mentioned above, when a Linux application is uninstalled, the Android operating system cannot perceive it, resulting in the application information registered by the proxy APK remaining after uninstallation. Therefore, in an embodiment of the present application, when a Linux application is uninstalled, the Linux application management module can also send uninstall information to the proxy APK to uninstall the corresponding proxy APK after uninstalling the Linux application. For details, please continue to refer to Fig.10 .
[0246] like Fig.10 As shown, in some embodiments of the present application, method 1000 further includes:
[0247] S1007, the multi-application management module sends information #3 to the Linux application management module.
[0248] Correspondingly, the Linux application management module receives information #3 sent by the multi-application management module, where the information #3 is used to instruct to uninstall the Linux application #1.
[0249] S1008, the Linux application management module uninstalls the Linux application #1 according to the information #3.
[0250] S1009, the Linux application management module sends information #4 to the multi-application management module.
[0251] Correspondingly, the multi-application management module receives information #4 sent by the Linux application, where the information #4 is used to indicate that the Linux application #1 has been uninstalled.
[0252] It should be understood that the description of step S1008 to step S1010 is similar to the description above and will not be repeated here for the sake of brevity.
[0253] S1010, the multi-application management module sends information #5 to the PMS.
[0254] Correspondingly, the PMS receives information #5 sent by the multi-application management module, where the information #5 is used to indicate that the Linux application #1 has been uninstalled.
[0255] S1011, PMS uninstalls agent APK#1 according to information #5.
[0256] After receiving information #5, the PMS can determine the proxy APK #1 according to the information #5, and then uninstall the proxy APK #1.
[0257] It is understandable that since the registration of default applications and management of application selectors in the Android operating system are based on the APK granularity, and the proxy APK#1 corresponds to the Linux application #1, when the proxy APK#1 is uninstalled, the Linux application #1 is no longer the default application or optional application of the file type #1.
[0258] In an embodiment of the present application, after the second operating system running in the container uninstalls the application of the second operating system, the second operating system can send information to notify the second operating system that the application has been uninstalled. PMS can sense that the application in the second operating system has been uninstalled, and the application in the second operating system corresponds to a proxy APK, so PMS can uninstall the proxy APK, so that the application of the second operating system is no longer the default application or optional application of the one or more file types. In an embodiment of the present application, by adding an interface for communicating with the proxy APK in the PMS and the ability to convert the application information of the application of the second operating system into the application information of the application of the first operating system, the path from the second operating system in the container to the first operating system side is opened up, so that the first operating system side can timely perceive the uninstallation of the application of the second operating system, and the application of the second operating system can be better managed, which helps to improve the user experience. In addition, each application of the second operating system can correspond to a proxy APK, so that when running multiple applications of the second operating system, the first operating system can distinguish the applications of the second operating system by distinguishing the proxy APK.
[0259] The above-mentioned main functional modules are used to introduce a method for managing cross-operating system applications provided by an embodiment of the present application. It is understandable that, in order to realize the above-mentioned functions, the electronic device includes a hardware structure and / or software module corresponding to the execution of each function. It should be easily appreciated by those skilled in the art that, in combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.
[0260] The embodiment of the present application can divide the processor in the electronic device into functional modules (or units) according to the above method example. For example, each functional module (or unit) can be divided corresponding to each function, or two or more functions can be integrated into one processing module (or unit). The above-mentioned integrated module (or unit) can be implemented in the form of hardware or in the form of software functional modules (or units). It should be noted that the division of modules (or units) in the embodiment of the present application is schematic, which is only a logical function division, and there may be other division methods in actual implementation.
[0261] The following will introduce a method for managing cross-operating system applications provided by an embodiment of the present application from the perspective of an electronic device.
[0262] Fig.11A schematic flow chart of a method 1100 for managing cross-operating systems provided in an embodiment of the present application is shown. Fig.11 As shown, the method 1100 includes:
[0263] S1101, obtaining first information sent by a second operating system, where the first information is used to indicate a state of a first application, and the first application is an application of the second operating system.
[0264] The electronic device can obtain first information sent by the second operating system, where the first information is used to indicate a state of a first application, where the first application is an application of the second operating system.
[0265] In some embodiments, the state of the first application is an installed state.
[0266] In some embodiments, the state of the first application is an uninstalled state.
[0267] S1102: Change the default application setting or the optional application setting of the first operating system according to the first information.
[0268] There are several possible situations for changing the default application settings or optional application settings of the first operating system according to the first information.
[0269] The first possible scenario:
[0270] Before obtaining the first information, the default application setting is that the first application is the default application for the first file type. The first information is used to indicate that the first application has been uninstalled. The electronic device can change the default application setting of the first operating system based on the first information so that the first application is no longer the default application for the first file type.
[0271] In this case, the electronic device may change the default application settings of the first operating system through the following possible implementations.
[0272] A possible implementation:
[0273] The first application corresponds to a first component of a proxy APK, and the proxy APK is used to proxy all applications in the second operating system. According to the first information, the default application settings are changed, including:
[0274] The first component is disabled according to the first information.
[0275] The first component includes an activity of the Android operating system.
[0276] In an embodiment of the present application, the electronic device may first pre-register a first component in the application selector, and the first component corresponds to the first application. When the first application running in the container is uninstalled, the second operating system may send information to notify that the first application has been uninstalled. After the electronic device determines that the first application has been uninstalled, the first component may be disabled. In an embodiment of the present application, a path from the second operating system in the container to the first operating system side is opened, so that the first operating system side can timely perceive the uninstallation of the second operating system's application, and the second operating system's application can be better managed, which helps to improve the user experience. In addition, in the implementation of the present application, a correspondence between the application and the component of the second operating system is established. Since the name of each component is different, the first operating system can distinguish between different second operating system applications.
[0277] A possible implementation:
[0278] The first application corresponds to a first proxy APK, and the first proxy APK is only used to run the first application as a proxy. According to the first information, the default application settings are changed, including:
[0279] According to the first information, the first proxy APK is uninstalled.
[0280] In an embodiment of the present application, when the first application running in the container is uninstalled, the second operating system can send information to notify that the first application has been uninstalled. The first application corresponds to a first proxy APK, which is only used to run the first application as a proxy. Therefore, the electronic device can uninstall the first proxy APK so that the first application is no longer the default application of the first file type. In an embodiment of the present application, the path from the second operating system in the container to the first operating system side is opened up, so that the first operating system side can timely perceive the uninstallation of the second operating system's application, and the second operating system's application can be better managed, which helps to improve the user experience. In addition, each second operating system application can correspond to a proxy APK, so that when running multiple second operating system applications, the first operating system can distinguish the second operating system's applications by distinguishing the proxy APK.
[0281] It is understandable that, in the first possible case, after the first application is uninstalled, the information or icon of the first application will no longer be displayed in the default application setting interface.
[0282] The second possible situation:
[0283] Before obtaining the first information, the optional application setting indicates that the first application is an optional application of the first file type. The first information is used to indicate that the first application has been uninstalled. The electronic device can change the optional application setting of the first operating system based on the first information so that the first application is no longer an optional application of the first file type.
[0284] In this case, the electronic device may change the optional application settings of the first operating system through the following possible implementation methods.
[0285] A possible implementation:
[0286] The first application corresponds to a first component of a proxy APK, and the proxy APK is used to proxy all applications in the second operating system. According to the first information, the default application settings are changed, including:
[0287] The first component is disabled according to the first information.
[0288] In an embodiment of the present application, the electronic device may first pre-register a first component in the application selector, and the first component corresponds to the first application. When the first application running in the container is uninstalled, the second operating system may send information to notify that the first application has been uninstalled. After the electronic device determines that the first application has been uninstalled, the first component may be disabled. In an embodiment of the present application, a path from the second operating system in the container to the first operating system side is opened, so that the first operating system side can timely perceive the uninstallation of the second operating system's application, and the second operating system's application can be better managed, which helps to improve the user experience. In addition, in the implementation of the present application, a correspondence between the application and the component of the second operating system is established. Since the name of each component is different, the first operating system can distinguish between different second operating system applications.
[0289] A possible implementation:
[0290] The first application corresponds to a first proxy APK, and the first proxy APK is only used to run the first application as a proxy. According to the first information, the default application settings are changed, including:
[0291] According to the first information, the first proxy APK is uninstalled.
[0292] In an embodiment of the present application, when the first application running in the container is uninstalled, the second operating system can send information to notify that the first application has been uninstalled. The first application corresponds to a first proxy APK, which is only used to run the first application as a proxy. Therefore, the electronic device can uninstall the first proxy APK, so that the first application is no longer an optional application of the first file type. In an embodiment of the present application, the path from the second operating system in the container to the first operating system side is opened up, so that the first operating system side can timely perceive the uninstallation of the second operating system's application, and the second operating system's application can be better managed, which helps to improve the user experience. In addition, each second operating system application can correspond to a proxy APK, so that when running multiple second operating system applications, the first operating system can distinguish the second operating system's applications by distinguishing the proxy APK.
[0293] It is understandable that, in the second possible case, after the first application is uninstalled, the information or icon of the first application will no longer be displayed on the application selection interface corresponding to the first file type.
[0294] The third possible scenario:
[0295] The first information is used to indicate that the first application has been installed, and the electronic device can change the default application setting or the optional application setting of the first operating system according to the first information to make the first application the default application or the optional application of the first file type.
[0296] In this case, the electronic device may change the default application settings or optional application settings of the first operating system through the following possible implementation methods.
[0297] A possible implementation:
[0298] The first application is associated with the first file type through a first component of a proxy APK, the proxy APK is used to proxy all applications running on the second operating system, the first activity is in a disabled state before obtaining the first information, the first information is used to indicate that the first application has been installed, and according to the first information, changing the default application setting or the optional application setting includes:
[0299] According to the first information, the first component is enabled.
[0300] In an embodiment of the present application, the proxy APK may first pre-register at least a first component in the application selector, and the first component corresponds to the first application. After the second operating system running in the container installs the application of the second operating system, the second operating system may send information to notify the second operating system that the application installation is complete. After the electronic device determines that the application of the second operating system is installed, it may enable the first component to make the first application the default application or optional application of the first file type. In an embodiment of the present application, the path from the second operating system in the container to the first operating system side is opened, so that the installation of the application of the second operating system can be perceived in a timely manner on the first operating system side, and the application of the second operating system can be better managed, which helps to improve the user experience. In addition, in the implementation of the present application, a correspondence between the application and the component of the second operating system is established. Since the name of each component is different, the first operating system can distinguish between different applications of the second operating system.
[0301] A possible implementation:
[0302] Obtain application information of the first application and convert the application information of the first application into first application information of the first operating system, determine a first proxy APK based on the first application information of the first operating system, and the first proxy APK is only used to proxy the running of the first application, and then register the first application information of the first operating system with the application selector through the first proxy APK to change the default application settings or the optional application settings.
[0303] In an embodiment of the present application, after the first application is successfully installed, the application information of the first application can be converted into the first application information of the first operating system, and the converted first application information of the first operating system can be associated with the first proxy APK, that is, the first application alone corresponds to the first proxy APK. The electronic device registers the application information to the application selector through the proxy APK, so that the application of the second operating system becomes the default application or optional application of the first file type. In an embodiment of the present application, the path from the second operating system in the container to the first operating system side is opened, so that the installation of the application of the second operating system can be perceived in time on the first operating system side, and the application of the second operating system can be better managed, which helps to improve the user experience. In addition, each application of the second operating system can correspond to a proxy APK, so that when running multiple applications of the second operating system, the first operating system can distinguish the applications of the second operating system by distinguishing the proxy APK.
[0304] In some embodiments, before acquiring the first information, the first application is a default application for the first file type, and the first information is used to indicate that the first application has been uninstalled. After changing the default application setting according to the first information, the method 1100 further includes:
[0305] The second application is set as the default application for the first file type.
[0306] Since the first application has been uninstalled, the electronic device may set a second application as a default application for the first file type. The second application may be an application of the first operating system and also initially an application of the second operating system.
[0307] It should be understood that the method for setting the second application as the default application for the first file type can be found above, and for the sake of brevity, it will not be repeated here.
[0308] In the embodiment of the present application, the first application is the default application of the first file type. When the first application is uninstalled, the electronic device can determine that the second application is the default application of the first file type. When the electronic device detects the user's operation of opening a file of the first file type, the electronic device can open the file through the second application, thereby ensuring that the file is opened smoothly without the user having to perform additional settings.
[0309] In some embodiments, before acquiring the first information, the first application is a default application for the first file type, the first information is used to indicate that the first application has been uninstalled, and after changing the default application setting according to the first information, the method 1100 further includes:
[0310] In response to a user opening operation of a first file, a first application selection interface is displayed, wherein the file type of the first file is a first file type, the first application selection interface includes a first control and a second application icon, the second application icon is associated with the second application, and the first control corresponds to setting a default application function;
[0311] In response to a user selecting the second application icon, marking the second application icon;
[0312] In response to a user clicking an operation of the first control, the second application is set as a default application for the first file type and the first file is opened through the second application.
[0313] It is understandable that, in the third possible case, after the first application is installed, the information or icon of the first application may be displayed on the default application setting interface or the application selection interface corresponding to the first file type.
[0314] In an embodiment of the present application, the first application is the default application for the first file type. After the first application is uninstalled, when the electronic device detects an operation by a user to open an application of the first file type, in response to the operation, an application selection interface may be displayed. The application selection interface may include an icon that can open an application of the first file type. The electronic device may re-determine a new default application for the first file type based on the user's operation.
[0315] The embodiment of the present application provides a computer program product, when the computer program product is run on an electronic device, the electronic device executes the technical solution in the above embodiment. Its implementation principle and technical effect are similar to those of the above method-related embodiments, and will not be repeated here.
[0316] The embodiment of the present application provides a readable storage medium, the readable storage medium contains instructions, when the instructions are executed in an electronic device, the electronic device executes the technical solution of the above embodiment. The implementation principle and technical effect are similar, and will not be repeated here.
[0317] The embodiment of the present application provides a chip, the chip is used to execute instructions, when the chip is running, the technical solution in the above embodiment is executed. The implementation principle and technical effect are similar, and will not be repeated here.
[0318] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present application.
[0319] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0320] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0321] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0322] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0323] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0324] The above is only a specific implementation of the embodiment of the present application, but the protection scope of the embodiment of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or replacements within the technical scope disclosed in the embodiment of the present application, which should be included in the protection scope of the embodiment of the present application. Therefore, the protection scope of the embodiment of the present application should be based on the protection scope of the claims.
Claims
1. A method for managing cross-operating system applications, characterized in that: The method is applied to an electronic device, the electronic device is equipped with a first operating system and a second operating system, wherein the second operating system runs based on the first operating system, the first operating system is an Android operating system or a Hongmeng operating system, and the second operating system is different from the first operating system. The method includes: Acquire first information sent by the second operating system, where the first information is used to indicate a state of the first application, the first application is an application in the second operating system, and the state of the first application includes an installed state and an uninstalled state; The default application settings or the optional application settings in the first operating system are changed according to the first information.
2. The method according to claim 1, characterized in that Before acquiring the first information, the first application is a default application or an optional application of the first file type, the first information is used to indicate that the first application has been uninstalled, and changing the default application setting or the optional application setting in the first operating system according to the first information includes: The default application setting or the optional application setting is changed according to the first information so that the first application is no longer a default application or an optional application of the first file type.
3. The method according to claim 2, characterized in that The first application corresponds to a first component in a proxy application APK, the proxy application is used to run an application in the second operating system on behalf of the first application, and the changing of the default application setting or the optional application setting according to the first information includes: The first component is disabled according to the first information.
4. The method according to claim 2, characterized in that: The first application corresponds to a first proxy application, and the first proxy application is only used to run the first application as a proxy. The changing the default application setting or the optional application setting according to the first information includes: Uninstall the first proxy application according to the first information.
5. The method according to any one of claims 2 to 4, characterized in that Before acquiring the first information, the first application is a default application for the first file type, and after changing the default application setting according to the first information, the method further includes: The second application is set as a default application for the first file type.
6. The method according to claim 2, characterized in that Before acquiring the first information, the first application is a default application for the first file type, and after changing the default application setting according to the first information, the method further includes: In response to a user opening operation of a first file, a first application selection interface is displayed, wherein the file type of the first file is the first file type, the first application selection interface includes a first control and a second application icon, the second application icon is associated with a second application, and the first control corresponds to setting a default application function; In response to the user selecting the second application icon, marking the second application icon; In response to the user clicking the first control, the second application is set as a default application for the first file type and the first file is opened through the second application.
7. The method according to claim 1, characterized in that The first application has a corresponding relationship with the first file type through a first component of the proxy application. Before obtaining the first information, the first component is in a disabled state. The first information is used to indicate that the first application has been installed. Changing the default application setting or the optional application setting in the first operating system according to the first information includes: The first component is enabled according to the first information.
8. The method according to claim 1, characterized in that The changing the default application settings or the optional application settings in the first operating system according to the first information includes: Acquire application information of the first application; converting the application information of the first application into first application information of the first operating system; Determine a first proxy application according to the first application information of the first operating system, where the first proxy application is only used to run the first application as a proxy; The first application information of the first operating system is registered with the application selector through the first agent application to change the default application setting or the optional application setting.
9. The method according to claim 3 or 7, characterized in that: The first component includes an activity of the Android operating system.
10. The method according to claim 8, characterized in that The first application information includes one or more of the following: package name, application version, icon information, application description, and permissions.
11. The method according to any one of claims 1 to 10, characterized in that The first operating system is the Android operating system or the Hongmeng operating system, and the second operating system is the Linux operating system or the Windows operating system.
12. The method according to any one of claims 2 to 6, characterized in that Before acquiring the first information, the first application is a default application for the first file type, and the method further includes: The default application setting interface is updated so that the default application setting interface no longer includes the icon or information of the first application.
13. The method according to any one of claims 2 to 4, characterized in that Before acquiring the first information, the first application is an optional application of the first file type, and the method further includes: updating the optional application settings; In response to a user opening operation of a first file, the file type of the first file is the first file type, and an application selection interface is displayed, wherein the application selection interface no longer includes an icon or information of the first application.
14. The method according to claim 7 or 8, characterized in that The method further comprises: The default application setting interface is updated so that the default application setting interface includes the information or icon of the first application.
15. The method according to claim 7 or 8, characterized in that The method further comprises: updating the optional application settings; In response to a user opening operation of a first file, the file type of the first file is the first file type, and an application selection interface is displayed, wherein the application selection interface is newly added with an icon or information of the first application.
16. The method according to claim 3, characterized in that The first operating system includes a multi-application management module, a multi-component management module, an application selector, and a package management service PMS, the second operating system includes an application management module, and the obtaining of the first information sent by the second operating system includes: the multi-application management module obtaining the first information from the application management module; The changing the default application settings or the optional application settings in the first operating system according to the first information includes: The multi-application management module determines, according to the first information, that the first application has been uninstalled; The application management module communicates with the multi-component management module so that the multi-component management module determines that the first component is in the disabled state; The package management service receives second information sent by the multi-component management module through a customized interface, where the second information is used to indicate that the first component is in the disabled state; The package management service disables the first component according to the second information, so that the application selector updates the default application setting or the optional application setting.
17. The method according to claim 4, characterized in that The first operating system includes a multi-application management module, an application selector, and a package management service PMS, the second operating system includes an application management module, and the obtaining of the first information sent by the second operating system includes: The multi-application management module obtains first information from the application management module; The changing the default application settings or the optional application settings in the first operating system according to the first information includes: The package management service receives second information sent by the multi-component management module through a customized interface, where the second information is used to instruct the uninstallation of the first proxy application; The package management service uninstalls the first agent application according to the second information, so that the application selector updates the default application settings or the optional application settings.
18. The method according to claim 7, characterized in that The first operating system includes a multi-application management module, a multi-component management module, an application selector, and a package management service PMS, the second operating system includes an application management module, and the obtaining of the first information sent by the second operating system includes: The multi-application management module obtains first information from the application management module; The changing the default application settings or the optional application settings in the first operating system according to the first information includes: The application management module communicates with the multi-component management module so that the multi-component management module determines that the first component is in an enabled state; The package management service receives second information sent by the multi-component management module through a customized interface, where the second information is used to indicate that the first component is in the enabled state; The package management service enables the first component according to the second information to enable the application selector to update the default application settings or the optional application settings.
19. The method according to claim 8, characterized in that The first operating system includes a multi-application management module, an application selector, and a package management service PMS, the second operating system includes an application management module, and the obtaining of the first information sent by the second operating system includes: The multi-application management module obtains first information from the application management module; The changing the default application settings or the optional application settings in the first operating system according to the first information includes: The multi-application management module obtains application information of the first application; The multi-application management module converts the application information of the first application into the application information of the first proxy application; The first agent application registers application information of the first agent application with the application selector, so that the application selector updates the default information setting or the optional application setting.
20. An electronic device, characterized in that: The method comprises one or more processors; one or more memories; the one or more memories store one or more computer programs, the one or more computer programs include instructions, and when the instructions are executed by the one or more processors, the method according to any one of claims 1 to 19 is executed.
21. A chip, characterized in that: The chip includes a processor and a communication interface, wherein the communication interface is used to receive a signal and transmit the signal to the processor, and the processor processes the signal so that the method according to any one of claims 1 to 19 is executed.
22. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed on a computer, the method according to any one of claims 1 to 19 is executed.
23. A computer program product, when the computer program product is run on an electronic device, enables the electronic device to execute the method according to any one of claims 1 to 19.
Citation Information
Cited By
Method for managing cross-operating-system application, and electronic device
EP4693028A1
Method for managing cross-operating-system application, and electronic device
WO2025044441A1