Method and apparatus for launching application, device, medium, and program product
By creating the target activity component directly during application startup and skipping intermediate activity components, the problem of long startup time and high resource consumption in existing technologies is solved, resulting in faster application startup and a better user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BEIJING ZITIAO NETWORK TECH CO LTD
- Filing Date
- 2024-12-23
- Publication Date
- 2026-07-02
AI Technical Summary
Existing technologies suffer from problems such as excessively long startup times, high system resource consumption, and poor user experience when handling complex application links, especially when creating transit activity components.
During application startup, the target activity component corresponding to the link information is directly created by obtaining the message object provided by the operating system, skipping the creation process of the intermediate activity component.
It significantly improves application startup speed, saves system resources, and enhances user experience.
Smart Images

Figure CN2024141606_02072026_PF_FP_ABST
Abstract
Description
Methods, apparatus, devices, media, and program products for launching applications. Technical Field
[0001] The embodiments disclosed herein generally relate to the field of software applications, and more specifically to methods, apparatuses, devices, media, and program products for launching applications. Background Technology
[0002] Currently, software application development is gaining increasing popularity, especially the development of applications that utilize a wide variety of clickable links, which is becoming a key focus for developers. These links possess different attributes; for example, some are advertising links used to redirect to external web pages or other applications, while others are internal links used to redirect to other pages within the application.
[0003] As software application development progresses, the types of clickable links that can be processed within applications are also increasing. By clicking various types of clickable links within an application, users can quickly navigate between different applications or pages, thereby quickly obtaining the content and data they need and improving their information retrieval efficiency. Summary of the Invention
[0004] Embodiments of this disclosure provide a method, apparatus, device, medium, and program product for launching an application.
[0005] According to a first aspect of this disclosure, a method for launching an application is provided. The method includes obtaining a message object provided by an operating system during the launch process of a process targeting the application. The method further includes detecting whether the message object includes link information for the target application. The method also includes, in response to the message object including link information, directly creating a target active component corresponding to the link information.
[0006] In a second aspect of this disclosure, an apparatus for launching an application is provided. The apparatus includes a method comprising a message object acquisition module configured to acquire a message object provided by an operating system during the launch of a process for a target application. The method further includes a link information detection module configured to detect whether the message object includes link information for the target application. The method also includes a target active component creation module configured to directly create a target active component corresponding to the link information in response to the message object including link information.
[0007] In a third aspect of this disclosure, an electronic device is provided, including at least one processor; and a storage device for storing at least one program, which, when executed by the at least one processor, causes the at least one processor to implement the method according to the first aspect of this disclosure.
[0008] In a fourth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method according to a first aspect of this disclosure.
[0009] In a fifth aspect of this disclosure, a computer program product is provided. This computer program product includes a computer program that, when executed by a processor, implements the method according to a first aspect of this disclosure.
[0010] It should be understood that the content described in this section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0011] The above and other objects, features and advantages of this disclosure will become more apparent from the accompanying drawings, in which like reference numerals generally denote like parts.
[0012] Figure 1 illustrates a schematic diagram of an example environment in which some embodiments of the present disclosure may be implemented;
[0013] Figure 2 illustrates a schematic diagram of an example method for launching an application according to some embodiments of the present disclosure;
[0014] Figure 3 illustrates a schematic diagram of an example of a process for launching an application according to some embodiments of the present disclosure;
[0015] Figure 4 illustrates a schematic diagram of example code for replacing utility class instances according to some embodiments of the present disclosure;
[0016] Figure 5 illustrates a schematic diagram of example code for utility class instances according to some embodiments of the present disclosure;
[0017] Figure 6 illustrates a schematic block diagram of an apparatus for launching an application according to some embodiments of the present disclosure;
[0018] Figure 7 illustrates a schematic block diagram of an example device suitable for implementing various embodiments of the present disclosure.
[0019] In the various figures, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation
[0020] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0021] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0022] For example, upon receiving a user's proactive request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0023] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0024] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0025] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0026] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0027] As mentioned above, links can be used to navigate within an application. These applications on a device typically include deep links and app links. A deep link is a Uniform Resource Locator (URL) that allows users to directly access specific content within an application. For example, a deep link can open a specific product page, user page, or article within the application, not just the application's homepage, such as myapp: / / product / 1234. An app link is an implementation of a deep link, specifically designed for certain operating systems. It begins with http or https and triggers the application to directly open and load the corresponding page, such as https: / / www.myapp.com / product / 1234.
[0028] When a user clicks a target link on a terminal device (such as a smartphone), it indicates that the user wants to view the content of the page the target link redirects to. In traditional solutions, after a user clicks the target link, if the target link is a deep link, and the corresponding app is already installed on the smart device, it will directly redirect to the specified page of the corresponding app; otherwise, the user will be prompted to confirm whether to be redirected to the app store to download the app. If the target link is an app link, if the corresponding app is already installed on the smart device, the user will be directly redirected to the specified page of the corresponding app after confirming the redirect; otherwise, the user will be directly redirected to the specified page on the corresponding website.
[0029] In the traditional approach described above, significant performance issues arise compared to regular application startup when the number of target links clicked by the user is too large. Generally, links in complex business logic are diverse. For example, the application client might need to match video links, advertisement links, or message links simultaneously. To match such complex link types, after a user clicks a link, the system creates an intermediary activity component as a endpoint to parse the clicked link. Only after parsing is complete will the user be redirected to the specified page window within the application. Although the intermediary activity component's role is merely to parse links, it requires a complete initialization process. This process loads significant system resources and involves numerous cross-process calls, making it very time-consuming. Therefore, in this traditional approach, application startup time is excessively long, efficiency is low, and the user experience is poor.
[0030] To address at least the aforementioned and other potential problems, embodiments of this disclosure propose a method for launching an application. In this method, a message object provided by the operating system is first obtained during the startup process of a process targeting the application on the computing device. Next, after obtaining the message object, the computing device further detects whether the message object includes link information for the target application. Finally, upon detecting that the message object contains link information for the target application, the computing device directly creates the target active component corresponding to the link information without using an intermediary active component. This method allows the link information in the link to be parsed based on the message object provided by the operating system during application startup, thereby skipping the creation of an intermediary active component and directly creating the target active component. This saves significant system resources, greatly improves application startup speed, and enhances the user experience.
[0031] The embodiments of this disclosure will now be described in further detail with reference to the accompanying drawings. Figure 1 illustrates an example environment in which the devices and / or methods of the embodiments of this disclosure can be implemented. In environment 100, computing device 102 first acquires a message object 106 provided by operating system 104 during the startup process of a process targeting application 110. Next, after acquiring message object 106, computing device 102 further detects whether message object 106 includes link information 108 for target application 110. Finally, after detecting that message object 106 includes link information 108 for target application 110, computing device 102 directly creates a target activity component 112 corresponding to the link information 108, without using an intermediary activity component.
[0032] Examples of computing device 102 include, but are not limited to, personal computers, server computers, handheld or laptop devices, mobile devices (such as mobile phones, personal digital assistants (PDAs), media players, etc.), multiprocessor systems, consumer electronics, minicomputers, mainframe computers, and distributed computing environments that include any of the above systems or devices.
[0033] As shown in Figure 1, a link to a target application 110 appears in an application running on computing device 102, such as a deep link to a page within the target application 110 or an application link. If a user clicks the link, the operating system 104 will obtain link information related to the link and can further determine whether the target application 110 corresponding to the link exists on the computing device. If the corresponding target application 110 does not exist, the user can be directed to the page of the website corresponding to the link or prompted to download the target application 110. If the target application 110 exists on computing device 102, the computing device 102 can further launch the target application 110. In some embodiments, the link information may be application link information. In other embodiments, the link information may be deep link information.
[0034] For example, when the link information is deep link information, if a target application 110 corresponding to the deep link information exists on computing device 102, the operating system can use the deep link information to open the target application. When the target application does not exist on computing device 102, the operating system can directly display a prompt box allowing the user to choose whether to go to the app store to download the corresponding target application.
[0035] For example, when the link information is application link information, if a target application 110 corresponding to the application link information exists in the computing device 102, the operating system can also use the application link information to open the target application. Additionally, if the target application does not exist in the operating system, the operating system directly navigates to the webpage corresponding to the target application to display the content of the webpage version of the target application.
[0036] Additionally, if a user clicks the icon of the target application 110 on the interface of the computing device 102, the target application will also be launched.
[0037] During the startup process of the target application 110, a message object 106 provided by the operating system 104 is obtained. The message object 106 may carry an operation to be performed (such as starting a component (activity) or page) and related data (such as information to be passed to that component or page). For example, the message object may be an intent used for communication between different components. If the process is started by the user clicking a link, the message object 106 includes link information related to the link, which corresponds to a page in the application, such as https: / / www.myapp.com / product / 1234. If the process is started by the user clicking an icon in the interface, the content of the message object may be empty.
[0038] In some embodiments, the process for the target application is launched by the operating system. Additionally, the target application's process is not running in the operating system before it is launched; that is, the process of obtaining the message object occurs during the target application's startup process, such as during a cold start.
[0039] Then, after acquiring the message object 106, the computing device 102 can determine the next operation to be performed based on the message object. For example, the computing device 102 further detects whether the message object 106 includes link information 108 for the application, such as the target application 110. If the message object does not contain link information, the application can determine that its startup process was initiated by clicking the icon in the interface of the computing device 102. At this time, the application can perform operations according to the normal startup logic. If the message object 106 includes link information 108 for the target application 110, then the link information 108 needs to be analyzed.
[0040] After detecting that the message object 106 includes link information 108 for the target application 110, the computing device 102 can directly create the target activity component 112 corresponding to the link information 108 without using an intermediary activity component.
[0041] In some embodiments, the computing device 102 parses the link information and directly creates the corresponding target activity component within the target application, without relying on the created intermediate activity component to further create the target activity component. This can significantly save system resource consumption, reduce application startup time, and improve application startup speed.
[0042] In some embodiments, when the process for the target application has been launched in the operating system, it indicates that the target application has been started and the initialization process for the target application has been completed. In this case, the active components of the target application can be in an active state. Additionally, if the target application has not been operated on for a predetermined period of time, for example, if the target application has not been operated on for more than 30 minutes (such as clicking, swiping, etc.), some or all active components can be put into an inactive state to save system resource consumption.
[0043] This method allows for the parsing of link information from messages provided by the operating system during application startup. This enables the skipping of the creation of intermediate activity components and the direct creation of the target activity component, saving significant system resources, greatly improving application startup speed, and enhancing user experience.
[0044] The foregoing description, with reference to FIG1, illustrates an example environment in which some embodiments of the present disclosure's devices and / or methods may be implemented. The following description, with reference to FIG2, illustrates an example method for launching an application according to some embodiments of the present disclosure. The method in FIG2 can be executed by the computing device 102 in FIG1 or any suitable computing device.
[0045] As shown in Figure 2, in example method 200, at box 202, computing device 102 obtains a message object provided by the operating system during the startup process of a process for a target application.
[0046] When the computing device 102 starts the application process, it first determines the original utility class instance that can be used to create the relay activity component. To avoid using the original utility class instance to create the relay activity component, a target utility class instance needs to be created to replace the original utility class instance. This target utility class instance does not need to create the relay activity component, thus avoiding its use during application process startup. In one example, the target utility class instance sets a method to retrieve the content of a message object provided by the operating system. For ease of understanding and description, the original utility class can also be referred to as the first utility class, and the target utility class as the second utility class.
[0047] In some embodiments, during the startup of the target application's process, system code and application code initialize the application separately. Additionally, during the application code's initialization of the target application, some parts of the system code are adjusted, for example, replacing the first utility class instance with a second utility class instance, to bypass the process of creating the intermediary activity component in the system code.
[0048] Subsequently, the replaced second utility class instance can be used to obtain the message object provided by the operating system. At this point, the first utility class in the operating system is skipped, thus bypassing the creation of the relay activity component and greatly saving system resource overhead.
[0049] In some embodiments, when a link displayed on the user interface is interacted with, such as by clicking or long-pressing, the computing device acquires link information for the link. This acquired link information may include deep link information or application link information. For example, the link information could be a page address within the application, such as https: / / www.myapp.com / product / 1234. Subsequently, the computing device 102 generates instructions to launch the target application corresponding to the link information based on the acquired link information.
[0050] In some embodiments, during the process of generating instructions for launching a target application, the computing device 102 first determines whether there is a target application in the operating system that corresponds to the link information. If there is a target application, it directly generates instructions for launching the target application.
[0051] Additionally, if the target app's version is too old, a prompt can appear to suggest that the user go to the app store to update it.
[0052] In some embodiments, after generating instructions for launching a target application, the computing device 102 starts a process for the target application in the operating system. During this process, the computing device 102 initializes the process using system code and application code.
[0053] In another scenario, if the target application does not exist, the web version of the target application is displayed in the browser of the operating system.
[0054] In some embodiments, the process for the target application is launched by the operating system. Additionally, the process for the target application does not exist in the operating system before the operating system retrieves the message object; that is, the process of retrieving the message object occurs during the cold start of the target application.
[0055] Then, at box 204, computing device 102 detects whether the message object includes link information for the target application. After obtaining the message object, computing device 102 further examines the message object to determine the startup reason and subsequent operations. For example, when the link information is deep link information, the operating system can use the parsing logic for deep link information to process the link information. When the link information is application link information, the operating system performs a parsing operation for application links to parse the application link information and create the target active component in the target application.
[0056] Finally, at box 206, in response to the link information included in the message object, computing device 102 directly creates the target activity component corresponding to the link information. Additionally, an intermediary activity component is not required when creating the target activity component.
[0057] In this scenario, during the application initialization process, when executing the application initialization code, the first utility class in the system code is replaced with a second utility class, which is different from the first utility class. This avoids the creation of the intermediate activity component using the first utility class, thus skipping the creation process of the intermediate activity component. The computing device 102 directly uses the second utility class to create the target activity window, saving system resource overhead.
[0058] Once the link information for the target application is obtained from the message object, the computing device determines the type of the link information, such as whether it is application link information. If it is determined to be application link information, application link parsing operations are applied to create the target activity component. If it is determined to be deep link information, deep link parsing operations are applied to create the target activity component.
[0059] Additionally, if the retrieved message object does not contain link information, it indicates that the user directly clicked the target application's icon on the desktop to enter the target application, rather than accessing it through a link. In this case, the operations within the target application can be executed directly according to the application's predefined system logic, such as first entering the target application's initial page and then switching to different pages based on the user's actions.
[0060] In some embodiments, when a user clicks a link for a target application on computing device 102, the operating system can determine whether the target application corresponding to the link exists. If the target application exists, the above operation is performed. If the target application does not exist on the computing device, the user can be directly redirected to the webpage corresponding to the target application to display the content of the webpage version of the target application or be prompted to download the target application.
[0061] This method allows for the parsing of link information from messages provided by the operating system during application startup. This enables the skipping of the creation of intermediate activity components and the direct creation of the target activity component, saving significant system resources, greatly improving application startup speed, and enhancing user experience.
[0062] The above description, with reference to FIG2, illustrates an example method for launching an application according to some embodiments of the disclosure. The following description, with reference to FIG3, illustrates an example of a process for launching an application according to some embodiments of the present disclosure, which is an example of the method described in FIG2. The example in FIG3 can be executed by the computing device 102 shown in FIG1 or any suitable device.
[0063] In Example 300 shown in Figure 3, the message object is an intent in the application. The process begins at box 302. At box 304, the user interacts with the link, such as clicking or long-pressing it. After the user interacts with the link, the operating system obtains the link information.
[0064] Then, after obtaining the link information, computing device 102 further generates instructions for launching the target application. Then, at box 306, the operating system of computing device 102 launches the target application's process. During the process of launching the target application's process, system code and the target application's application code initialize the target application's process.
[0065] Meanwhile, during the process of launching the target application, the system also obtains the intent for the target application, and at box 308, the operating system transmits the pre-defined intent, which also includes the link information corresponding to the link.
[0066] Upon receiving the pre-defined intent from the system, the application process retrieves the link information from the intent. Then, at box 310, the application process further executes the logic to resolve the link. Additionally, if it is determined that no link information corresponding to the link does not exist in the pre-defined intent, indicating that the application was launched by clicking the application icon, then the application's main page can be accessed, and so on.
[0067] Specifically, when parsing a link, it's necessary to determine at box 312 whether the link is an application link. If the link is determined to be an application link, then at box 314, the logic 314 for parsing the application link is executed. For example, if the application link is "https: / / www.myapp.com / product / 1234", then when parsing the application link, it can be determined that the link leads to the "1234" page associated with the "product" page of the target application "myapp".
[0068] Subsequently, after parsing the application link, at box 318, the system jumps to the target activity component and displays the "1234" page window associated with the "product" page of the target application "myapp" on the device's display screen.
[0069] When a link is determined to be a deep link, the logic for parsing the deep link is executed at box 316. For example, if the deep link is "myapp: / / product / 1234", then during the parsing of the deep link, it can be determined that the link leads to the "1234" page associated with the "product" page of the target application "myapp".
[0070] Subsequently, after resolving the corresponding deep link, the system navigates to the target active component. Upon navigation to the target active component, a "1234" page window associated with the "product" page of the aforementioned target application "myapp" is created in the target application and displayed on the device's screen.
[0071] After parsing the link information and redirecting to the target active component, the target application starts up and the currently displayed interface is the target active component's page. At box 320, the process of opening the target application's page ends.
[0072] In this process, the operating system's own creation of the relay activity component is skipped, and the process of the relay activity component loading system resources is also skipped, which greatly improves the startup efficiency of the target application, reduces the consumption of system resources, and improves the user experience.
[0073] The above description, with reference to Figure 3, illustrates an example of a process for launching an application according to some embodiments of the present disclosure. The following description, with reference to Figure 4, illustrates example code for replacing utility class instances according to some embodiments of the present disclosure.
[0074] As shown in Example 400, during the application startup phase, such as the onCreate phase, reflection is used to replace the utility class that creates the activity in the system. In the example code shown in Box 402, a second utility class instance "TestInstrumentation" is defined to replace the first utility class instance created by the system. This second utility class instance inherits from the first utility class instance "Instrumentation" in the operating system.
[0075] Understandably, this sample code is run by the target application and utilizes the process of creating a relay activity component in the operating system's system code to bypass the process of running this code.
[0076] The example code shown in box 404 illustrates the process of replacing the first utility class instance with a second utility class instance. Specifically, a function "starFix()" is defined, which utilizes reflection to replace the second utility class instance.
[0077] First, in the code below, reflection is used to obtain the current instance of the ActivityThread.java class. This instance is a system class used to start the application (Application, App) process: "val activityThreadObject = ActivityThreadHelper.currentActivityThread()".
[0078] Then, the following code retrieves the mInstrumentation object from ActivityThread.java: "val field = activityThreadObject.javaClass.getDeclaredField("mInstrumentation") field.isAccessible = true val instrumentationObject = field[activityThreadObject]".
[0079] Finally, in the code "field[activityThreadObject] = TestInstrumentation()", replace the "mInstrumentation" object in ActivityThread.java with the implemented "TestInstrumentation" object.
[0080] The above description, with reference to Figure 4, illustrates example code for replacing utility class instances according to some embodiments of the present disclosure. The following description, with reference to Figure 5, illustrates example code for the contents of utility class instances according to some embodiments of the present disclosure.
[0081] As shown in Example 500, combined with the previous Example 400, this example code 502 is the concrete implementation code of the second utility class instance, that is, the concrete implementation code of "TestInstrumentation".
[0082] First, in order to create the activity component in the target application, you need to override the `newActivity` method in the first utility class instance in the following code: "override fun newActivity(cl:ClassLoader?,className:String?,intent: Intent?):Activity".
[0083] Subsequently, at the code "val uri = parseUri(intent)", the link information of deep links or application links is extracted from the intent received from the operating system, that is, the link information is parsed. Therefore, the above code is used to parse the link information in the predefined intent.
[0084] Next, after parsing the link information, it will jump to the target activity component based on the parsing result. The example code is: "return if(uri!=null||uri.toString().contains("myapp")){ super.newActivity(cl, "com.ss.android.ugc.aweme.main.homepage.MainActivity",intent)}else{ super.newActivity(cl,className,intent)}".
[0085] When navigating to the target active component, the specific address of the target active component is determined based on the Uniform Resource Identifier obtained after parsing the link information. Finally, example code 502 also shows the specific implementation code used to parse the link information: "private fun parseUri(intent:Intent?):String{ if(intent==null){ return""} var originalUri:Uri?=null val action=intent.action if(!StringUtils.isEmpty(action)&& action!!.indexOf(DeepLinkActivityV2.ACTION_INTENT)==0){ val openUrl= intent.getStringExtra(DeepLinkActivityV2.KEY_OPEN_URL) if(!StringUtils.isEmpty(openUrl)){ try{ originalUri=Uri.parse(openUrl)} catch(e:Exception) { Log.e(DeepLinkActivityV2::class.java.simpleName,"",e)” return"error"}}} if(originalUri==null){ originalUri=intent.data} return originalUri.toString()}}
[0086] The code described above for parsing link information can be used to parse deep links and applied links.
[0087] As shown in Figure 6, the device 600 includes a message object acquisition module 602, configured to acquire a message object provided by the operating system during the startup process of a process targeting the application; a link information detection module 604, configured to detect whether the message object includes link information for the target application; and a target activity component creation module 606, configured to directly create a target activity component corresponding to the link information in response to the message object including link information.
[0088] In some embodiments, the message object acquisition module 602 includes: an original utility class instance determination module, configured to determine an original utility class instance that can be used to create a relay activity component; an original utility class instance replacement module, configured to replace the original utility class instance with a target utility class instance for the target application; and a first message object acquisition module, configured to acquire a message object provided by the operating system based on the target utility class instance.
[0089] In some embodiments, the target active component creation module 606 includes: a link information determination module configured to determine whether the link information is application link information; and a first link information parsing module configured to create a target active component by performing a parsing operation on the link information for application links in response to the link information being application link information.
[0090] In some embodiments, the target active component creation module 606 further includes a second link information parsing module, configured to create a target active component by performing a parsing operation on the link information for deep links in response to the link information not being application link information.
[0091] In some embodiments, the apparatus 600 further includes: a link display module configured to display a link on a user interface; a link information acquisition module configured to acquire link information for a link in response to the link being operated on; and an instruction generation module configured to generate an instruction for launching a target application corresponding to the link information based on the link information.
[0092] In some embodiments, the instruction generation module includes: a target application existence determination module configured to determine whether a target application corresponding to the link information exists; and an instruction generation module configured to generate an instruction for launching the target application corresponding to the link information in response to the existence of the target application corresponding to the link information.
[0093] In some embodiments, the instruction generation module further includes a webpage display module, configured to display content corresponding to the link information via a webpage corresponding to the link information in response to the absence of a target application corresponding to the link information.
[0094] In some embodiments, the apparatus 600 further includes an operation execution module configured to perform an operation in the target application based on predetermined system logic for the target application in response to the message object not containing link information.
[0095] In some embodiments, the link information includes deep link information or application link information.
[0096] In some embodiments, the startup process of the target application is a cold start.
[0097] In some embodiments, a relay activity component is not required when creating the target activity component.
[0098] Figure 7 shows a schematic block diagram of an example device 700 that can be used to implement embodiments of the present disclosure. The computing device 102 in Figure 1 can be implemented using device 700. As shown, device 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 702 or loaded from storage unit 808 into random access memory (RAM) 703. Various programs and data required for the operation of device 700 may also be stored in RAM 703. CPU 701, ROM 702, and RAM 703 are interconnected via bus 704. Input / output (I / O) interface 705 is also connected to bus 704.
[0099] Multiple components in device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of monitors, speakers, etc.; storage page 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless communication transceiver, etc. Communication unit 709 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks. High note techniques, vocal exercises, articulation, breathing, falsetto, mixed voice, and correct singing methods 2.
[0100] The various processes and handling described above, such as method 200 and example 300, can be executed by processing unit 701. For example, in some embodiments, method 200 and example 300 can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by CPU 701, one or more actions of example methods 200 and example 300 described above can be performed.
[0101] This disclosure can be a method, apparatus, system, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.
[0102] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0103] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0104] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0105] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0106] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0107] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0108] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0109] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for launching an application, comprising: During the startup process of the target application's process, obtain message objects provided by the operating system; Detect whether the message object includes link information for the target application; as well as In response to the message object including the link information, a target activity component corresponding to the link information is directly created.
2. The method according to claim 1, wherein obtaining the message object provided by the operating system includes: Identify the original utility class instance that can be used to create the transit activity component; Replace the original utility class instance with a target utility class instance for the target application; as well as Based on the target utility class instance, obtain the message object provided by the operating system.
3. The method according to claim 1, wherein directly creating the target activity component corresponding to the link information comprises: Determine whether the link information is application link information; as well as In response to the link information being application link information, the target activity component is created by performing an application link parsing operation on the link information.
4. The method according to claim 3, wherein directly creating the target activity component corresponding to the link information further includes: In response to the link information not being the application link information, the target activity component is created by performing a deep link parsing operation on the link information.
5. The method according to claim 1, further comprising: Display links in the user interface; In response to the link being operated on, obtain link information for the link; as well as Based on the link information, instructions are generated to launch the target application corresponding to the link information.
6. The method of claim 5, wherein generating instructions for launching the target application corresponding to the link information based on the link information comprises: Determine whether the target application corresponds to the link information; as well as In response to the existence of a target application corresponding to the link information, an instruction for launching the target application corresponding to the link information is generated.
7. The method according to claim 6, further comprising: In response to the absence of a target application corresponding to the link information, the content corresponding to the link information is displayed through the webpage corresponding to the link information.
8. The method according to claim 1, further comprising: In response to the absence of the link information in the message object, the operation in the target application is performed based on predetermined system logic for the target application.
9. The access request according to claim 1, wherein the link information includes deep link information or application link information.
10. The access request according to claim 1, wherein the startup process of the target application is a cold start.
11. The method of claim 1, wherein a relay activity component is not required when creating the target activity component.
12. An apparatus for launching an application, comprising: The message object acquisition module is configured to acquire message objects provided by the operating system during the startup process of the target application's process; The link information detection module is configured to detect whether the message object includes link information for the target application; as well as The target activity component creation module is configured to directly create a target activity component corresponding to the link information in response to the message object including the link information.
13. An electronic device, comprising: At least one processor; as well as A storage device for storing at least one program, which, when executed by the at least one processor, causes the at least one processor to implement the method according to any one of claims 1-11.
14. A computer-readable storage medium having a computer program stored thereon, the computer program implementing the method according to any one of claims 1-11 when executed by a processor.
15. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-11.