Application program interface jump method, device and storage medium

By creating a transparent first Activity in the operating system of Android 12 and higher versions, the problem that cannot jump to other application interfaces, realize the interface that users can jump to other applications by notifying the window.

CN117130696BActive Publication Date: 2025-01-24HONOR DEVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310311195.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-14
Publication Date
2025-01-24
Estimated Expiration
2043-03-14

AI Technical Summary

Technical Problem

In Android 12 or later operating systems, applications cannot start the activity of other applications from services used as trampoline or broadcast receiver, resulting in users being unable to jump to the interface of the map application after clicking the jump option in the notification window .

Method used

By creating a first Activity with a theme attribute is transparent, the user is not perceived, and the Activity is used to create a second Activity that wants to jump to the second application to jump to the interface from the notification window to other applications.

Benefits of technology

It has been implemented that in Android 12 and higher versions, users can jump to the interface of other applications through the notification window, which solves the problem of jump failure caused by changes in interface processing logic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117130696B_ABST
    Figure CN117130696B_ABST
Patent Text Reader

Abstract

The present application provides an interface jump method, device and storage medium for an application. The method includes: displaying a first interface, the first interface includes a notification window corresponding to a first application, the notification window includes a first option; in response to a click operation on the first option, creating a first Activity, the theme attribute of the first Activity is configured as transparent; after creating the first Activity, creating a second Activity, the second Activity belongs to a second application; destroying the first Activity; displaying a second interface, the second interface corresponds to the second Activity. Thus, by creating a first Activity with a transparent theme attribute, a second Activity is created in the first Activity without the user's perception, so as to realize jumping from the notification window to the second interface, that is, the interface corresponding to the second Activity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal devices, and in particular to an application program interface jump method, device and storage medium. Background Art

[0002] In order to prevent users from missing events that need to be carried out, clock applications can usually remind users of different events at corresponding times. For example, when the clock application is in the background or not started, the clock application will ring and / or vibrate, and also push notification messages of the events that need to be carried out, such as displaying a notification window on the display interface of the terminal device.

[0003] In order to further improve the user experience, the option of jumping to the map application installed on the terminal device is currently provided in the notification window. When the user clicks this option, the service (Service) or broadcast receiver (Broadcast Receivers) used as the notification activity startup component (trampoline) will be started, and the trampoline will start the activity corresponding to the map application so that users can view nearby places where events can be held. However, in Android 12 or higher operating systems, due to changes in the interface processing logic, applications cannot start activities of other applications from services or broadcast receivers used as trampolines, which results in the user being unable to jump to the interface of the map application after clicking the above option. Summary of the invention

[0004] In order to solve the above technical problems, the present application provides an interface jump method, device and storage medium for an application, which is intended to adapt to Android 12 and higher versions, so that when users interact with the notification window, they can jump to the Activity of other applications through the notification window.

[0005] In a first aspect, the present application provides an interface jump method of an application program. The method includes: displaying a first interface, the first interface includes a notification window corresponding to a first application, the notification window includes a first option; in response to a click operation on the first option, creating a first activity, the theme attribute of the first activity is configured as transparent; after creating the first activity, creating a second activity, the second activity belongs to a second application; destroying the first activity; displaying a second interface, the second interface corresponds to the second activity.

[0006] Therefore, when the user interacts with the notification window, such as clicking on the first option in the notification window, in response to the operation, a first Activity with a transparent theme attribute, that is, invisible, is created. In this way, without the user's perception, the first Activity is used to create a second Activity of the second application to be jumped to, and ultimately it is possible to jump from the notification window to the second interface of the second application, that is, the interface corresponding to the second Activity.

[0007] According to the first aspect, in response to a click operation on the first option, the method also includes: obtaining identification information corresponding to the notification window, the identification information being used to indicate whether the first interface displaying the notification window is the interface corresponding to the notification center; wherein, when the first interface is not the interface corresponding to the notification center, the notification window plays a prompt sound during display.

[0008] Therefore, when the notification window is located in different interfaces, setting different effects can better meet the user's usage needs.

[0009] According to the first aspect, or any implementation method of the first aspect above, after creating the first Activity, creating a second Activity, including: determining in the first Activity whether the first interface for displaying the notification window indicated by the identification information is the interface corresponding to the notification center; when the first interface is not the interface corresponding to the notification center, turning off the prompt sound and the notification window; creating the second Activity.

[0010] Therefore, when the notification window is not located in the interface corresponding to the notification center, that is, when the notification window pops up directly on the current interface, when the user interacts with the notification window and the terminal device responds to the user's operation and creates a second Activity from the first Activity, the prompt sound and the notification window are closed first, and then the second Activity is created. This not only realizes the jump from the notification window to the second interface of the second application, but also can close the prompt sound and notification window in time, avoiding the impact of the prompt sound on surrounding users and the blocking of the current interface content by the notification window.

[0011] According to the first aspect, or any implementation of the first aspect above, the method also includes: during the process of playing the prompt sound, if no click operation is received on the first option or any area of ​​the notification window, then after the playing time of the prompt sound reaches the set prompt sound time, a new notification window is generated in the interface corresponding to the notification center, and the notification information in the notification window is displayed in the new notification window; and the notification window displayed in the first interface is closed.

[0012] Therefore, after the prompt sound is played, if the user still does not interact with the notification window of the current interface, the notification window can be closed and the notification information in the notification window can be displayed in the notification window in the interface corresponding to the notification center, thereby avoiding the notification window from blocking the current interface content. At the same time, by storing the notification messages that the user has not viewed in the notification window in the interface corresponding to the notification center, the user can easily find all unviewed notification messages directly from the notification center in the future to avoid omissions.

[0013] According to the first aspect, or any implementation of the first aspect above, before displaying the notification window in the first interface, the method also includes: the first application constructs a notification message and sends the notification message to the notification manager, the notification message includes the start time of the target event; displaying the notification window in the first interface includes: when the system time reaches the start time, the notification manager causes the notification message to be displayed in the notification window in the first interface.

[0014] The target event is, for example, the event 1 that needs to be performed as described below.

[0015] Thus, the notification message displayed in the notification window is constructed in advance by the first application and sent to the notification manager for management. When the start time of the target event in the notification message is reached, the notification manager operates and displays the notification message in the notification window of the first interface, ensuring that the notification message can be displayed in time.

[0016] According to the first aspect, or any implementation method of the first aspect above, the first application constructs a notification message and sends the notification message to the notification manager, including: before the first application constructs the notification message, detecting whether the notification function is turned on; when the notification function is not turned on, monitoring the activation status of the notification function; after monitoring that the notification function is turned on, the first application constructs a notification message and sends the notification message to the notification manager.

[0017] According to the first aspect, or any implementation of the first aspect above, the method also includes: after turning on the notification function and receiving the callback information of the previous notification message constructed by the first application displayed in the first interface, the first application constructs a notification message and sends the notification message to the notification manager.

[0018] Therefore, the next notification message to be displayed through the notification window is constructed only after a notification message has been displayed, avoiding pushing multiple notification messages to the notification manager in advance, and re-pushing subsequent notification messages when the content changes, thereby reducing the occupation of device resources.

[0019] According to the first aspect, or any implementation of the first aspect above, the method further includes: when the first interface is an interface corresponding to the notification center, closing the notification window; and creating a second Activity.

[0020] Since the notification message has been stored in the notification center, the prompt sound has stopped playing. Therefore, for this scenario, you can directly close the notification window and then create a second Activity without calling the interface to turn off the prompt sound.

[0021] According to the first aspect, or any implementation of the first aspect above, the method further includes: in response to a click operation on a preset area of ​​the notification window, displaying a third interface, where the third interface belongs to the first application.

[0022] Since the relevant information of the first application providing the notification message can be obtained according to the notification message, the user can interact with the notification window displaying the notification message and directly pull up the third interface of the first application according to the relevant information of the first application.

[0023] According to the first aspect, or any implementation of the first aspect above, the third interface is the main interface of the first application.

[0024] According to the first aspect, or any implementation of the first aspect, the first Activity is not created during the process of displaying the third interface.

[0025] Since the relevant information of the first application providing the notification message can be obtained based on the notification message, the user can interact with the notification window displaying the notification message and directly pull up the third interface of the first application based on the relevant information of the first application. Therefore, there is no need to use an invisible Activity to create and launch the third interface of the first application.

[0026] According to the first aspect, or any implementation of the first aspect, the first application is a clock application, and the second application is a map application.

[0027] According to the first aspect, or any implementation of the first aspect above, the first option is used to display the location of the nearby event in the second interface after the second interface is displayed.

[0028] According to the first aspect, or any implementation of the first aspect above, the notification window further includes: a mark of the clock application, an event name, a start time of the event, a calculation time for calculating the start time, and a second option.

[0029] The mark of the clock application, for example, is displayed in the area 10a-11 or the area 10c-11 mentioned below, and may include information such as the icon, name, and display time of the notification of the clock application.

[0030] The event name, for example, is the content displayed in the area 10a-12 or the area 10c-12 mentioned below.

[0031] The start time of the event is, for example, the time information displayed in the area 10a-13 or the area 10c-13 mentioned below.

[0032] The calculation time of the calculation start time is, for example, the content displayed in the area 10a-14 or the area 10c-14 mentioned below.

[0033] The second option is, for example, the "off" option mentioned below, namely, options 10a-15, options 10c-15, etc.

[0034] According to the first aspect, or any implementation of the first aspect above, the calculation time displayed in the notification window is the calculation time of the most recent update, and the start time is the start time calculated from the calculation time of the most recent update.

[0035] According to the first aspect, or any implementation of the first aspect above, the method further includes: in response to a click operation on the second option, closing the notification window.

[0036] In a second aspect, the present application provides a terminal device. The terminal device includes: a memory and a processor, the memory and the processor are coupled; the memory stores program instructions, and when the program instructions are executed by the processor, the terminal device executes instructions of the method in the first aspect or any possible implementation of the first aspect.

[0037] The second aspect and any implementation of the second aspect correspond to the first aspect and any implementation of the first aspect respectively. The technical effects corresponding to the second aspect and any implementation of the second aspect can refer to the technical effects corresponding to the above-mentioned first aspect and any implementation of the first aspect, which will not be repeated here.

[0038] In a third aspect, the present application provides a computer-readable medium for storing a computer program, wherein the computer program includes instructions for executing the method in the first aspect or any possible implementation of the first aspect.

[0039] The third aspect and any implementation of the third aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the third aspect and any implementation of the third aspect can refer to the technical effects corresponding to the first aspect and any implementation of the first aspect, which will not be repeated here.

[0040] In a fourth aspect, the present application provides a computer program, comprising instructions for executing the method in the first aspect or any possible implementation of the first aspect.

[0041] The fourth aspect and any implementation of the fourth aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the fourth aspect and any implementation of the fourth aspect can refer to the technical effects corresponding to the above-mentioned first aspect and any implementation of the first aspect, which will not be repeated here.

[0042] In a fifth aspect, the present application provides a chip, the chip comprising a processing circuit and a transceiver pin, wherein the transceiver pin and the processing circuit communicate with each other through an internal connection path, and the processing circuit executes the method in the first aspect or any possible implementation of the first aspect to control the receiving pin to receive a signal and control the sending pin to send a signal.

[0043] The fifth aspect and any implementation of the fifth aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the fifth aspect and any implementation of the fifth aspect can refer to the technical effects corresponding to the first aspect and any implementation of the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 A schematic diagram of an exemplary user interface;

[0045] Figure 2 is another schematic diagram of a user interface shown as an example;

[0046] Figure 3 is another schematic diagram of a user interface shown as an example;

[0047] Figure 4 The figure is a schematic diagram of processing logic involved in jumping from a notification window corresponding to a clock application to an interface of a map application, which is exemplified;

[0048] Figure 5 A schematic diagram of some functional interfaces provided by the Android SDK involved in jumping from the notification window corresponding to the clock application to the interface of the map application;

[0049] Figure 6 A schematic diagram of some functional interfaces provided by the Android SDK involved in jumping from the notification window corresponding to the clock application to the interface of the map application;

[0050] Figure 7 is another schematic diagram of a user interface shown as an example;

[0051] Figure 8 A schematic diagram of the hardware structure of a terminal device is shown as an example;

[0052] Fig. 9 A schematic diagram of the software structure of a terminal device is shown as an example;

[0053] Fig.10 A schematic diagram showing, by way of example, functional services involved in jumping from a notification window corresponding to a clock application to an interface of a map application;

[0054] Fig.11 The figure is a schematic diagram of processing logic involved in jumping from a notification window corresponding to a clock application to an interface of a map application, which is exemplified;

[0055] Fig.12 is a timing diagram of an interactive process involved in jumping from a notification window corresponding to a clock application to an interface of a map application, which is exemplified;

[0056] Fig.13 The figure is a flowchart of an exemplary method for jumping to an application interface. DETAILED DESCRIPTION

[0057] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0058] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0059] The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects rather than to describe a specific order of objects. For example, a first target object and a second target object are used to distinguish different target objects rather than to describe a specific order of target objects.

[0060] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0061] In the description of the embodiments of the present application, unless otherwise specified, the meaning of "multiple" refers to two or more than two. For example, multiple processing units refer to two or more processing units; multiple systems refer to two or more systems.

[0062] In order to better understand the technical solutions provided by the embodiments of the present application, the current problems in the scenarios targeted by the technical solutions provided by the embodiments of the present application are first described below.

[0063] Specifically, the clock application can not only display time, but also set corresponding reminder alarms to remind users to handle corresponding events, such as buying train tickets at a certain time, going to a nearby shopping mall to buy goods at a certain time, or going to school to pick up children at a certain time, etc. These are not listed here one by one, and this application does not impose any restrictions on this.

[0064] In order to prevent users from missing events that need to be carried out, clock applications can usually remind users of different events at corresponding times. For example, when the clock application is in the background or not started, the clock application will ring and / or vibrate, and also push notification messages of the events that need to be carried out, such as displaying a notification window on the display interface of the terminal device.

[0065] In order to further enhance the user experience, the option of jumping to the application required to handle the event is currently provided in the notification window. For example, when buying train tickets, it can be an option to jump to the ticket purchasing application. For example, when going to a shopping mall, it can be an option to jump to the map application, etc. For the sake of convenience, the event to be processed is taken as an example of going to a nearby upload to purchase goods (hereinafter referred to as event 1), so the option to jump to the map application. Based on this, when the clock application and the map application are installed in the terminal device, when the user clicks on the jump option, the service (Service) or broadcast receiver (Broadcast Receivers) used as the notification activity startup component (trampoline) will be started, and the trampoline will start the activity corresponding to the map application, so that the user can view the nearby location of event 1, that is, the shopping mall where the item can be purchased.

[0066] See also Figure 1 In (1), for example, for a terminal device such as a mobile phone installed with a clock application and a map application, the clock application will automatically determine the event 1 that matches the current time based on the current location information and the business hours of the shopping mall corresponding to the location information, and then construct a notification message for the event 1. When the time to display the notification message is met, such as when the system time reaches the start time of the event 1, the terminal device responds and a pop-up message such as the one shown in the current display interface such as interface 10a is displayed. Figure 1The notification window 10a-1 shown in (2) is opened, and the notification information corresponding to the event 1 is displayed in the notification window 10a-1.

[0067] See also Figure 1 In (2), exemplarily, the notification message displayed in the notification window 10a-1 may include, for example, an identifier of the clock application displayed in area 10a-11, such as an application icon, an application name, and the display time of the notification message; the name of Event 1 displayed in area 10a-12, such as when the current system time of the terminal device is "12:00" as shown in the figure, the event that matches the current system time is "Event 1"; the start time of Event 1 displayed in area 10a-13, such as "12:00"; the calculation time (or update time) of the start time of Event 1 displayed in area 10a-14, such as "Event 1 time updated at 8:00 on March 9, 2023" as shown in the figure; Option 10a-15 for closing the notification window 10a-1, and Option 10a-16 for jumping to the interface of the searched nearby shopping malls in the map application.

[0068] It should be understood that the above description is only an example for better understanding the technical solution of this embodiment, and is not intended to be the only limitation to this embodiment. Figure 1 The present application does not limit the number of notification information shown in (2).

[0069] For example, when a user clicks Figure 1 When option 10a-15 shown in (2) is selected, the terminal device responds to the operation behavior by closing the notification window 10a-1, and the interface 10a is changed from Figure 1 The style shown in (2) is restored to Figure 1 The style shown in (1).

[0070] Exemplarily, when the user clicks on any area except options 10a-15 and option 10a-16, or a specified area in the notification window 10a-1, the terminal device responds to the operation and can determine the clock application to be started based on the application identifier that sends the notification message, and then pull up the interface of the clock application.

[0071] In addition, from the above description, it can be seen that under normal circumstances, when the user clicks Figure 1 When option 10a-16 shown in (2) is selected, the terminal device will obtain the current location information in response to the operation behavior, directly start the map application, automatically search for shopping malls near the location information, and finally display the interface of the searched nearby shopping malls, such as Figure 2 Interface 10b is shown.

[0072] It should be understood that the above description is merely an example listed for a better understanding of the technical solution of this embodiment, and is not intended to be the sole limitation to this embodiment.

[0073] In addition, it should be noted that in some implementations, in order to better remind the user, a prompt sound (alarm ringtone) and / or vibration can be played during the display of the notification window 10a-1. The prompt sound can be a system default or a user-set one, and this application does not limit this.

[0074] In addition, it should be noted that in order to avoid the notification window 10a-1 from blocking the content in the interface 10a, the display duration of the notification window 10a-1 can be set, for example, within the playback duration and / or vibration duration of the prompt sound. When the user does not interact with the notification window 10a-1, the notification window 10a-1 can be displayed. If the user still does not interact with the notification window 10a-1 after the playback duration and / or vibration duration, the notification window 10a-1 displayed in the interface 10a can be automatically closed, and the notification messages in the notification window 10a-1 can be managed by the notification center so that the user can view all unviewed notification messages from the notification center when he needs to view the notification messages.

[0075] Exemplary, for viewing the notification message about event 1 from the notification center, for example, it can be that on any display interface of the terminal device, a finger slides downward from the upper edge of the terminal device screen to pull out the corresponding interface of the notification center, such as Figure 3 Interface 10c of (1).

[0076] See also Figure 3 In (1), illustratively, in the interface 10c corresponding to the notification center, all notification messages managed by the notification center can be displayed, for example, the notification message of the event "Event 1" mentioned above can be displayed in the notification window 10c-1.

[0077] Continue to see Figure 3 In (1), illustratively, the notification message displayed in the notification window 10c-1 is the same as that in the above notification window 10a-1. The functions of each area and each option can be found in the above description of the corresponding areas and options in the notification window 10a-1, which will not be repeated here.

[0078] Continue to see Figure 3 In (1), for example, when the user clicks option 10c-15, the terminal device responds to the operation behavior and closes the notification window 10c-1. Figure 3 The style shown in (1) is switched to Figure 3 The style shown in (2)

[0079] Continue to see Figure 3 In (1), for example, when the user clicks option 10c-16, under normal circumstances, the terminal device responds to the operation behavior, obtains the current location information, directly starts the map application, automatically searches for shopping malls near the location information, and finally displays the interface of the searched nearby shopping malls, such as Figure 2 Interface 10b is shown.

[0080] It should be understood that the above description is merely an example listed for a better understanding of the technical solution of this embodiment, and is not intended to be the sole limitation to this embodiment.

[0081] For the above two notification windows, such as notification window 10a-c displayed in interface 10c corresponding to the notification center, and notification window 10a-1 displayed in any other interface except interface 10c, such as interface 10a, due to their different locations, when the user clicks on these two notification windows to view the "Nearby Shopping Malls" option, the processing to be done before pulling up the map application will also be different. For the sake of convenience, the identifier "ACTION_SEARCH_MUSLIM_IN_MAP" corresponding to the notification window indicates that the notification window is displayed in the interface corresponding to the notification center, such as interface 10c, and the identifier "ACTION_MUSLIM_SEARCH_MAP" corresponding to the notification window indicates that the notification window is displayed in the interface corresponding to the non-notification center, such as interface 10a. For example, the processing logic when clicking on the "Nearby Shopping Malls" option in the notification window in these two interfaces is explained.

[0082] See also Figure 4 When the user clicks on the "Nearby Shopping Malls" option in the notification window, the system service (SystemService) will start a service corresponding to the clock application, and then the service will determine which notification window the user is currently clicking on. The specific information can be determined based on the identifier obtained after clicking on the notification window.

[0083] Continue to see Figure 4For example, when the identifier is "ACTION_SEARCH_MUSLIM_IN_MAP", first perform operation (1) to close the notification window, and then perform operation (2) to jump to the Activity that displays nearby shopping malls in the map application; when the identifier is "ACTION_MUSLIM_SEARCH_MAP", first perform operation (1) to turn off the current alarm, that is, turn off the prompt sound and / or vibration, and then perform operation (2) to close the notification window, and then perform operation (3) to jump to the Activity that displays nearby shopping malls in the map application. Therefore, after completing the corresponding processing logic, the map application can be pulled up to display the Activity of nearby shopping malls in the map application.

[0084] However, in Android 12 or higher operating systems, due to changes in interface processing logic, applications cannot start other applications' activities from services or broadcast receivers used as trampolines. Specifically, when the above processing logic is executed in the Service corresponding to the clock application, the "isActivityStartAllowed" method in the Android Software Development Kit (SDK) is called ( Figure 5 The method in the dashed box D1).

[0085] Continue to see Figure 5 , the “blockTrampoline(uid)” in the dotted box D2 is called in the “isActivityStartAllowed” method, that is, the Service used as trampoline. However, for “blockTrampoline(uid)”, in Android SDK 12 or higher, “isChangeEnable” is set to prevent other applications from being started from the Service used as trampoline, that is, the application corresponding to the passed-in uid, such as Figure 6 The content corresponding to the dashed box D3.

[0086] That is, the processing logic of launching other applications by the Service used as trampoline in the Android SDK is changed to the following: Figure 5 , Figure 6As shown in the figure, in the case where other applications are blocked from being launched from the Service used as a trampoline, when the user clicks on the "Nearby Shopping Malls" option in the notification window, a Service corresponding to the clock application is started, and it is determined which interface the notification window is currently clicked from. For the "ACTION_SEARCH_MUSLIM_IN_MAP" flag, that is, the notification window is displayed on the interface corresponding to the notification center, only operation (1) will be executed, and operation (2) will not be executed. For the "ACTION_MUSLIM_SEARCH_MAP" flag, that is, the notification window is displayed on an interface other than the interface corresponding to the notification center, as shown in the figure, Figure 1 In the case of interface 10a shown in (1), only operations (1) and (2) will be executed, but operation (3) will not be executed. That is, no matter which interface displays the notification window, clicking the option to view nearby shopping malls will not jump to the interface of displaying nearby shopping malls in the map application. Figure 2 Instead of the interface 10b in the current interface, for example, when the user clicks option 10a-16 in the notification window 10a-1 displayed in the interface 10a, a pop-up window such as Figure 7 The prompt box 10a-2 shown reminds the user that the map application cannot be opened from the notification window.

[0087] It should be understood that the above description is merely an example listed for a better understanding of the technical solution of this embodiment, and is not intended to be the sole limitation to this embodiment.

[0088] In view of this, an embodiment of the present application provides an interface jump method for an application, which is intended to adapt to Android 12 and higher versions, so that when the user interacts with the notification window, they can jump to the Activity of other applications through the notification window.

[0089] In order to better understand the technical solution provided by the embodiment of the present application, before describing the technical solution of the embodiment of the present application, the hardware structure and software architecture of the terminal device to which the embodiment of the present application is applicable are first described in conjunction with the accompanying drawings.

[0090] Regarding the terminal devices to which the embodiments of the present application are applicable, for example, mobile phones, tablet computers, smart watches, etc. with any Android 12 or higher operating system are not listed here one by one, and this embodiment does not limit this. For the sake of convenience, this embodiment is described using a mobile phone as an example.

[0091] See also Figure 8The terminal 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.

[0092] Exemplarily, in some implementations, the sensor module 180 may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, etc., which are not listed one by one here and the present application does not limit this.

[0093] In addition, it should be noted that 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. Among them, different processing units may be independent devices or integrated in one or more processors.

[0094] It is understandable that the controller may be the nerve center and command center of the terminal device 100. In practical applications, 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.

[0095] In addition, it should be noted that a memory may be provided in the processor 110 for storing instructions and data. In some implementations, 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.

[0096] Exemplarily, in some implementations, 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.

[0097] Continue to see Figure 8 Exemplarily, the charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging implementations, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging implementations, the charging management module 140 may receive wireless charging input through a wireless charging coil of the terminal device 100. While the charging management module 140 is charging the battery 142, it may also power the terminal device through the power management module 141.

[0098] Continue to see Figure 8Exemplarily, the power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other implementations, the power management module 141 can also be set in the processor 110. In other implementations, the power management module 141 and the charging management module 140 can also be set in the same device.

[0099] Continue to see Figure 8 , exemplarily, the wireless communication function of the terminal device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor.

[0100] It should be noted that antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other implementations, the antenna can be used in combination with a tuning switch.

[0101] Continue to see Figure 8 , exemplarily, the mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some implementations, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some implementations, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.

[0102] In addition, it should be noted that the modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some implementations, the modem processor may be an independent device. In other implementations, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0103] Continue to see Figure 8 Exemplarily, the wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0104] In addition, it should be noted that the terminal device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.

[0105] Continue to see Figure 8, exemplarily, 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 implementations, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0106] In addition, it should be noted that the terminal device 100 can achieve the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0107] In addition, it should be noted that the ISP is used to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some implementations, the ISP can be set in the camera 193.

[0108] In addition, it should be noted that the camera 193 is used to capture static images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some implementations, the terminal device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0109] In addition, it should be noted that the digital signal processor is used to process digital signals, and in addition to processing digital image signals, it can also process other digital signals. For example, when the terminal device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0110] In addition, it should be noted that the video codec is used to compress or decompress digital video. The terminal device 100 can support one or more video codecs. In this way, the terminal device 100 can play or record videos in multiple coding formats, such as: moving picture experts group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0111] Continue to see Figure 8 Exemplarily, 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 terminal device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos are stored in the external memory card.

[0112] Continue to see Figure 8 , exemplarily, 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 terminal 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 can 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 can store data created during the use of the terminal 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.

[0113] In addition, it should be noted that the terminal device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D, and the application processor.

[0114] In addition, it should be noted that the audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some implementations, the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.

[0115] Continue to see Figure 8 For example, the button 190 includes a power button, a volume button, etc. The button 190 may be a mechanical button or a touch button. The terminal device 100 may receive a button input and generate a key signal input related to the user settings and function control of the terminal device 100.

[0116] Continue to see Figure 8 , exemplarily, motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0117] Continue to see Figure 8 , exemplarily, the indicator 192 can be an indicator light, which can be used to indicate the charging status, power change, and can also be used to indicate messages, missed calls, notifications, etc.

[0118] The hardware structure of the terminal device 100 is introduced here. It should be understood that: Figure 8 The terminal device 100 shown is only an example. In a specific implementation, the terminal device 100 may have more or fewer components than those shown in the figure, may combine two or more components, or may have a different component configuration. Figure 8 The various components shown in the EMBODIMENTS 2000 may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0119] See also Fig. 9 , which is a software structure block diagram of the terminal device 100 according to an embodiment of the present application.

[0120] like Fig. 9As shown, the layered architecture of the terminal device 100 divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some implementations, the Android system is divided into four layers, from top to bottom, namely, the application layer, the application framework layer, the Android runtime (Android runtime) and the system library, and the kernel layer.

[0121] The application layer may include a series of application packages. Fig. 9 As shown, the application package may include clock, map, notification center, settings and other applications, which are not listed here one by one and are not limited in this application.

[0122] Specifically in this embodiment, the clock application can automatically generate an alarm for a certain event according to user settings or system settings, that is, automatically construct a notification message for each event related to the event to remind the user to perform the event, such as event 1 mentioned above; the map application can search for shopping malls near the current location and display them to the user when the user clicks on the "Nearby Shopping Malls" option in the notification window; the notification center can manage notification messages of event 1 that the user has not viewed; the setting application can allow the user to set up, turn on the Global Positioning System (GPS) to obtain the current location of the terminal device, and turn on the notification function to push the notification message of each event 1 constructed by the clock application to the notification manager, which will push and display it to the corresponding notification window on time.

[0123] It should be understood that the above description is merely an example listed for a better understanding of the technical solution of this embodiment, and is not intended to be the sole limitation to this embodiment.

[0124] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. In some implementations, these programming interfaces and programming frameworks can be described as functions. Fig. 9 As shown, the application framework layer may include functions such as a notification manager, system services, a window manager, a content provider, and a resource manager, which are not listed here one by one and are not limited in this application.

[0125] It should be noted that the resource manager is used to provide various resources for the application, such as localized strings, icons, pictures, layout files, video files, etc., which are not listed here one by one and this application does not impose any restrictions on this.

[0126] The content provider is used to store and obtain data and make the data accessible to the application. For example, the data may include video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc., which are not listed here one by one and are not limited by this application.

[0127] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0128] The notification manager allows applications to display notification information in the status bar, which can be used to convey notification-type messages and disappear automatically after a short stay without user interaction.

[0129] System services are used to instantiate services corresponding to applications and components, such as the Activity Manager Service (AMS) that manages Activities and the Notification Manager Service corresponding to the Notification Manager.

[0130] like Fig.10 As shown, specifically in the embodiment provided by the present application, after receiving the notification message constructed by the clock application, the notification manager will send the notification message to the notification management service (Notification Manager Service) pre-instantiated by the system service. When the display time of the notification message arrives, the system UI process (SystemUI process) draws a notification window on the corresponding interface according to the instructions of the notification management service. The notification interface management service displays the notification information in the notification window, and when the user interacts with the notification window, the System UI process interacts with other services across processes, such as the interface management service that manages the Activity.

[0131] Continue to see Fig.10 For example, in the case of interface management, the system service will instantiate the interface management service, and then the interface management service will manage the activity displayed in the terminal device. Accordingly, after the user interacts with the notification window and clicks to view the "Nearby Shopping Malls" option displayed in the notification window, the notification management service interacts with the interface management service through the System UI process, and the System UI process calls the corresponding interface to start the corresponding activity through the interface management service, destroy the corresponding activity, etc. Fig.10 , start the map application activity.

[0132] It should be understood that the above description is merely an example listed for a better understanding of the technical solution of this embodiment, and is not intended to be the sole limitation to this embodiment.

[0133] Android Runtime includes core libraries and virtual machines. Android Runtime is responsible for scheduling and management of the Android system.

[0134] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

[0135] The application layer and the application framework layer run in a 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 functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

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

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

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

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

[0140] It can be understood that the 2D graphics engine mentioned above is a drawing engine for 2D drawing.

[0141] In addition, it is understandable that the kernel layer in the Android system is a layer between hardware and software. The kernel layer includes at least a display driver, a camera driver, an audio driver, a sensor driver, etc. Exemplarily, the sensor driver can be used to output a detection signal of a sensor (such as a touch sensor) to the view system, so that the view system responds to the detection signal and displays a corresponding application interface.

[0142] The software structure of the terminal device 100 is introduced here. It can be understood that: Fig. 9 The layers in the software structure shown and the components contained in each layer do not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer layers than shown in the figure, and each layer may include more or fewer components, which is not limited in the present application.

[0143] For the terminal device 100 with the above-mentioned hardware structure and software architecture, in order to adapt to Android 12 and higher versions, when the user interacts with the notification window, he can jump to the Activity of other applications through the notification window. Based on the jump method of the application interface provided in the embodiment of the present application, by recompiling the PendingIntent corresponding to the "Nearby Shopping Malls" option in the notification window, that is, the PendingIntent of the map application to be pulled up and displayed, the Service started as a trampoline returned in this method is modified to return an invisible Activity, and then the processing of the notification window is completed in the invisible Activity, such as turning off the alarm tone and / or vibration, closing the notification window, jumping to the Activity of the map application, etc.

[0144] It is understandable that, regarding starting an invisible Activity, the theme attribute is specifically configured as transparent. This can be specifically set through the manifest file (AndroidManifest.xml). The configuration information of the invisible Activity in the manifest file can be as follows:

[0145] <activity

[0146] android:name="com.android.deskclock.alarmclock.NearbyMosqueActicity" / / The name of Activity, such as "NearbyMosqueActicity"

[0147] android:theme = "@android:style / Theme.Transparent" / / Activity theme settings, whether it is visible, if it is not visible, set it to Transparent (transparent)

[0148] android:exported="false" / / Set to false so that only the clock application can use it, and other applications cannot use it>

[0149]

[0150] It should be understood that the above description is merely an example listed for a better understanding of the technical solution of this embodiment, and is not intended to be the sole limitation to this embodiment.

[0151] See also Fig.11For example, based on the modification of the PendingIntent of the map application, when the user interacts with the notification window and clicks the "Nearby Shopping Malls" option, the interface management service will start the Activity whose theme is set to be transparent, that is, invisible, and then determine in the Activity which notification window the user is currently clicking on. The specific determination can be based on the identifier obtained after clicking the notification window.

[0152] Continue to see Fig.11 For example, when the identifier is "ACTION_SEARCH_MUSLIM_IN_MAP", first perform operation (1) to close the notification window, and then perform operation (2) to jump to the Activity in the map application that displays nearby shopping malls; when the identifier is "ACTION_MUSLIM_SEARCH_MAP", first perform operation (1) to turn off the current alarm, that is, turn off the prompt sound and / or vibration, and then perform operation (2) to close the notification window, and then perform operation (3) to jump to the Activity in the map application that displays nearby shopping malls. Therefore, when the user interacts with the notification window, such as clicking on the "Nearby Shopping Malls" option, the terminal device responds to the operation by creating an Activity with a transparent theme attribute, that is, an invisible Activity. In this way, without the user's perception, the invisible Activity is used to pull up the Activity of the map application to be jumped to, and finally it is possible to jump from the notification window to the Activity of the map application, that is, the Activity that displays nearby shopping malls.

[0153] For a better understanding Fig.11 The interface jump method of the application provided in the embodiment of the present application is shown in Fig.12 Provide specific instructions.

[0154] For example, when a clock application and a map application are installed in a terminal device, and the notification function and the GPS positioning function are turned on, the clock application can obtain the permission of the GPS positioning function at the set time to determine the current location information of the terminal device, and then determine the start time and name of event 1 of the next event to be reminded to the user according to the business hours of the mall corresponding to the current location information, and then construct a notification message corresponding to event 1 according to the determined relevant information, that is, execute Fig.12 Step S101 in .

[0155] Exemplarily, the notification message corresponding to event 1 constructed by the clock application may include the icon, name, and time to be displayed of the clock application mentioned above; the name of event 1; the start time of event 1; the calculation time for calculating the start time of event 1, etc.

[0156] Continue to see Fig.12 For example, after constructing the notification message corresponding to event 1, the clock application will feed back the constructed notification message and related parameters to the notification management service through getActivity() in the recompiled PendingIntent mentioned in the above embodiment, that is, execute step S102.

[0157] Specifically, the relevant parameters fed back to the notification management service through PendingIntent.getActivity() in step S102 include but are not limited to the name of the invisible Activity that needs to be started when the "Nearby Shopping Malls" option is subsequently clicked to query, the ID that uniquely identifies the Activity, and the application to be launched in the Activity, such as the method corresponding to the map application.

[0158] In addition, it should be noted that for the first notification message constructed after the notification function is enabled, the clock application can directly send the constructed notification message, that is, the notification message of the first event 1 to be reminded at the current time or after the current time, to the notification management service. In this way, when the system time reaches the start time of event 1, the notification management service can directly display the notification message of event 1 in the notification window and pop up on the current interface to remind the user.

[0159] Exemplary, in other implementations, for the usage scenario where, after the notification function is turned on, the clock application has pushed the notification message of the next event 1 to be reminded to the notification management service, regarding the notification message corresponding to event 2 after event 1, the clock application can construct the notification message corresponding to event 2 after receiving the callback information that the notification management service displays the notification message of event 1 in the notification window, and send the notification message corresponding to event 2 to the notification management service, thereby avoiding sending the notification messages of all remaining events in the day, such as event 1 and event 2, to the notification management service in advance, resulting in changes in the relevant information of subsequent event 2, such as when the location of the terminal device changes, resulting in a change in the time of the corresponding event 2, the terminal device still reminds the user for event 2 based on the old notification message, resulting in time errors, or frequent terminal updates resulting in waste of resources.

[0160] Continue to see Fig.12 For example, after receiving the notification message and related parameters sent by the clock application, the notification management service will parse the start time of event 1 from the notification message, and then monitor whether the system time reaches the start time of event 1 carried in the notification message, that is, execute step S103.

[0161] Accordingly, when the system time reaches the start time of event 1, the notification management service executes step S104 to notify the System UI process to draw a notification window to display the notification message provided by the clock application. Otherwise, step S103 is continued.

[0162] Accordingly, when the System UI process receives the instruction from the notification management service, it will execute step S105, draw the notification window, and display the notification message (including jumping to the "Nearby Shopping Malls" option of the map application).

[0163] It should be noted that when the notification window corresponding to the notification message is displayed for the first time, its corresponding identification information is "ACTION_MUSLIM_SEARCH_MAP", that is, the notification window does not belong to the interface corresponding to the notification center. If the user does not interact with the notification window within the set time, the notification window of the identification information will be closed and the notification message will be added to the notification window in the interface corresponding to the notification center.

[0164] Exemplarily, the notification window drawn in step S105 is Figure 1 Taking the notification window 10a-1 popped up in the interface 10a shown in (2) as an example, when the notification message is a notification message corresponding to event 1, the content displayed in the notification window is as follows: Figure 1 The notification window 10a-1 shown in (2) is the same as that in the above embodiment. For details, please refer to the above embodiment and will not be repeated here.

[0165] Continue to see Fig.12 , for example, when the user clicks the "Nearby Shopping Malls" option in the notification window, such as Figure 1 After selecting option 10a-16 in the notification window 10a-1 shown in (2), the terminal device responds to the operation behavior, and the System UI process executes step S106. Specifically, the System UI process calls the startActivity() interface, and the notification interface management service starts an Activity whose theme attribute is configured as transparent, that is, invisible. For the convenience of explanation, this embodiment refers to this Activity as NearbyMosqueActivity.

[0166] It can be understood that from the above description of step S101, when the clock application sends a notification message to the notification management service, it will also send the name of the invisible Activity, such as NearbyMosqueActivity, the ID that identifies the uniqueness of NearbyMosqueActivity, and the application to be launched in NearbyMosqueActivity, such as the corresponding method of the map application and other relevant parameters to the notification management service. Therefore, the notification management service can inform the interface management service which invisible Activity to be launched and the corresponding method of the application map to be launched in the Activity based on these relevant parameters.

[0167] Correspondingly, after receiving the notification, the interface management service will call the startActivity() interface. Specifically, according to the life cycle of Activity, to create a new Activity, such as NearbyMosqueActivity, it is necessary to call onCreate() after calling the startActivity() interface. In this way, the creation of NearbyMosqueActivity can be realized, and then the corresponding processing logic can be performed in NearbyMosqueActivity, such as processing the notification window and starting the map application to display the nearby Activity.

[0168] In addition, through the above configuration of the properties of NearbyMosqueActivity, it can be known that it can only be used by the clock application, and other applications are not available. Therefore, after NearbyMosqueActivity is started, the clock application will implement the processing logic of the notification window in NearbyMosqueActivity, and call the method of jumping to the Activity of the map application (carried in the relevant parameters sent by the clock application to the notification management service), that is, execute Fig.12 Step S107 in .

[0169] Understandably, the processing of the notification window in the invisible NearbyMosqueActivity is Fig.11 As shown in the figure, the interface where the notification window is located is determined, and then different processing is performed on the notification windows displayed on different interfaces. For example, for the identification information "ACTION_SEARCH_MUSLIM_IN_MAP", that is, the interface corresponding to the notification center, such as Figure 3In the notification window of the middle interface 10c, the operation to be performed is to close the notification window, start the map application, and jump to the Activity in the map application for displaying nearby shopping malls. Figure 1 The notification window of the middle interface 10a not only closes the notification window, starts the map application, jumps to the Activity in the map application for displaying nearby shopping malls, but also turns off the alarm, that is, turns off the reminder sound and / or vibration.

[0170] In addition, it should be understood that the role of NearbyMosqueActivity is to process the notification window and call the method to start the map application to pull up the map application Activity. Therefore, after completing the above processing, NearbyMosqueActivity is no longer needed. Therefore, in order to reduce resource usage, after completing the above processing, you can directly call the finish() interface to destroy NearbyMosqueActivity.

[0171] In addition, it should be understood that since the interface management service is used to manage the life cycle of all activities, such as creation, startup, and destruction, the activity used by the map application to display nearby shopping malls is also created and started by the interface management service. That is, after the clock application calls the method to start the map application in NearbyMosqueActivity, the interface management service will start the activity corresponding to the map application, that is, execute Fig.12 Step S108 in .

[0172] For the Activity of the map application used to display nearby shopping malls, the corresponding interface can be called to start it according to the current state of the map application.

[0173] For example, if the Activity for displaying nearby shopping malls in the map application to be launched has not been destroyed and is in a paused state (Paused) or a stopped state (Stopped), there is no need to recreate the Activity and it can be started directly. That is, after calling the startActivity() interface, there is no need to call onCreate(), but onRestart() can be called directly to start the Activity. Fig.12 This is the scenario shown in the figure. Therefore, the interface management service receives the System

[0174] After the UI process is notified, after calling the startActivity() interface in step S108, onRestart() is directly called to start the map application to display the Activity of nearby shopping malls.

[0175] For example, when the Activity has been destroyed, that is, in the destroyed state (Destroyed), since the memory corresponding to the Activity has been cleared, in order to pull up the map application to display the Activity of nearby shopping malls, it is necessary to call onCreate() after calling the startActivity() interface to create the Activity, and then call onStart() to start the Activity.

[0176] In addition, from the above description, it can be seen that after the user clicks the "Nearby Shopping Malls" option, the clock application will obtain the current location information of the terminal device based on the GPS positioning function. The location information is passed to the map application as a parameter when calling the method to start the map application. Therefore, after the map application is started, it can automatically search for shopping malls near the current location based on the location information, and finally display the Activities of nearby shopping malls, such as Figure 2 Interface 10b in.

[0177] Therefore, when the user interacts with the notification window displaying the notification message of event 1, such as clicking on the "Nearby Shopping Malls" option, based on the above method, the terminal device responds to the operation behavior by pulling up a NearbyMosqueActivity with a transparent theme attribute, that is, invisible. In this way, without the user's perception, the Activity of the map application to be jumped to is pulled up through NearbyMosqueActivity, and finally it is possible to jump from the notification window to the interface corresponding to the first Activity of the map application, thereby solving the problem that the Service used as a trampoline cannot start other applications due to interface changes in Android SDK for Android 12 and higher versions.

[0178] It should be understood that the above description is only an example listed for a better understanding of the technical solution of this embodiment, and is not the only limitation to this embodiment. In a specific implementation, the interface jump method of the application provided in the embodiment of the present application is not limited to operating and adjusting from the notification window corresponding to the clock application to the interface of the map application, and can be a jump between any two applications.

[0179] See also Fig.13 , exemplarily illustrates an application interface jump method provided by the present application that can be applied to adjustment between any two applications, specifically including:

[0180] S201, displaying a first interface, where the first interface includes a notification window corresponding to a first application, and the notification window includes a first option.

[0181] Exemplarily, in some implementations, the first interface is, for example, an interface corresponding to a notification center, such as Figure 3 Interface 10c shown in FIG.

[0182] Exemplarily, in some other implementations, the first interface may also be any interface except the interface corresponding to the notification center, such as Figure 1 The interface 10a shown in the figure, or an interface corresponding to an application, such as an interface for playing audio and video.

[0183] Exemplarily, the first application is an application for making notification reminders, such as the clock application mentioned above.

[0184] Correspondingly, the notification window corresponding to the first application is a notification window for displaying the notification message constructed by the first application, such as the notification window for displaying the notification message corresponding to event 1 in the above embodiment.

[0185] In addition, the first option included in the notification window is actually a functional option for the user to select, thereby triggering the launch of the second application to be started. Taking the notification window as the notification window of the notification message of event 1 as mentioned in the above embodiment, the first option can be the option of viewing "nearby shopping malls" as mentioned in the above embodiment, such as option 10a-16 displayed in notification window 10a-1, or option 10c-16 displayed in notification window 10c-1. That is, when the user clicks on the first option, the terminal device responds to the operation and ultimately displays the interface for displaying nearby shopping malls in the map application, such as Figure 2 Interface 10b in.

[0186] Regarding the construction of the notification message in the notification window corresponding to the first application displayed in the first interface, and the destination of the notification message, please refer to step S101 and step S102 in the above embodiment for details, which will not be repeated here.

[0187] In addition, after the first application constructs the notification message, regarding the display of the notification message, reference may be made to step S103 and step S104 in the above embodiment, which will not be described in detail here.

[0188] In addition, after the first application constructs the notification message, the sending of the notification message depends on whether the notification function is enabled on the terminal device. Therefore, in order to ensure that the notification message can be displayed, the first application can first detect whether the notification function is enabled before constructing the notification message.

[0189] Accordingly, when the notification function is not enabled, it is necessary to monitor the enabling state of the notification function. After monitoring that the notification function is enabled, the first application constructs a notification message and sends the notification message to the notification manager. For details, please refer to the description of sending the notification message of event 1 generated for the first time when the notification function is enabled in the above embodiment, which will not be repeated here.

[0190] Accordingly, when the notification function is turned on, the construction and sending of the next notification message can be triggered according to the callback information displayed by the previous notification message. That is, when the notification function is turned on and the callback information of the previous notification message constructed by the first application is displayed in the first interface, which is fed back by the notification manager, the first application constructs a notification message and sends the notification message to the notification manager. For specific details, please refer to the description of the construction time and sending time of the notification message corresponding to event 2 after the notification message corresponding to event 1 is sent in the above embodiment when the notification function is turned on, which will not be repeated here.

[0191] S202: In response to a click operation on a first option, a first Activity is created, and a theme attribute of the first Activity is configured to be transparent.

[0192] Exemplarily, still taking the first option as the option of viewing “nearby shopping malls” mentioned in the above embodiment as an example, the first Activity that needs to be created can be regarded as the NearbyMosqueActivity mentioned in the above embodiment.

[0193] Accordingly, after the user clicks the first option, the terminal device responds to the click operation on the first option by Fig.12 From the description of step S106 , it can be seen that the notification management service notifies the interface management service to create the first Activity whose theme attribute is configured to be transparent, ie, invisible.

[0194] The specific creation logic of the invisible first Activity can be found in the above embodiment, which will not be repeated here.

[0195] S203: After creating the first Activity, create a second Activity, where the second Activity belongs to the second application.

[0196] Specifically, in this embodiment, creating the second Activity after creating the first Activity specifically refers to calling a corresponding method in the first Activity to achieve the creation of the second Activity.

[0197] Exemplarily, taking the second application as the map application mentioned in the above embodiment as an example, the second Activity can be the Activity of the main interface of the map application, or it can be the Activity of a nearby shopping mall searched according to the current location information of the terminal device in the above embodiment.

[0198] From the description of the above embodiment, it can be known that the invisible NearbyMosqueActivity that can be used by the clock application, that is, the first Activity in this embodiment, calls the corresponding method to create the second Activity. For example, when the display of the nearby shopping mall Activity is realized in the method of starting the map application, the clock application will also perform corresponding processing on the notification window in NearbyMosqueActivity. The processing of the notification window is related to the interface in which the identification information corresponding to the notification window identifies it.

[0199] Therefore, in response to the click operation on the first option, the identification information corresponding to the notification window where the first option is located can be obtained. Since the identification information corresponding to the notification window can indicate whether the first interface displaying the notification window is the interface corresponding to the notification center, such as Figure 3 Therefore, in response to the click operation on the first option, when the notification window is processed in the first Activity, the processing to be performed can be determined according to the acquired identification information.

[0200] Exemplarily, when it is determined in the first Activity that the first interface for displaying the notification window indicated by the identification information is the interface corresponding to the notification center, that is, the identification information is the "ACTION_SEARCH_MUSLIM_IN_MAP" mentioned in the above embodiment, it is necessary to call a method to close the notification window in the first Activity, and then close (delete) the notification window from interface 10c, and then execute the operation of creating a second Activity.

[0201] Exemplarily, when it is determined in the first Activity that the first interface for displaying the notification window indicated by the identification information is not the interface corresponding to the notification center, that is, the identification information is the "ACTION_MUSLIM_SEARCH_MAP" mentioned in the above embodiment, according to the above description, when the notification window is not the notification window displayed in the interface corresponding to the notification center, it means that the notification window has just been displayed to remind the user. Therefore, in order to better remind the user, it is usually set to play a prompt sound and / or vibrate during the display of the notification window.

[0202] Accordingly, for this scenario, that is, the scenario where the identification information is the "ACTION_MUSLIM_SEARCH_MAP" mentioned in the above embodiment, it is necessary to call a method for turning off the prompt sound and / or vibration, as well as a method for closing the notification window in the first Activity, and then turn off the prompt sound and / or vibration, close (delete) the notification window from interface 10c, and then execute the operation of creating a second Activity.

[0203] It should be noted that, for the scenario where the identification information is the "ACTION_MUSLIM_SEARCH_MAP" mentioned in the above embodiment, during the process of playing the prompt sound and / or vibration, if no click operation is received on the first option or any area of ​​the notification window, then after the duration of playing the prompt sound and / or vibration reaches the set prompt sound and / or vibration duration, a new notification window can be generated in the corresponding interface of the notification center, such as Figure 3 The notification window 10c-1 shown in (1) and the current notification window, such as Figure 1 The notification information in the notification window 10a-1 shown in (2) is displayed in the notification window 10c-1, and the notification window 10a-1 is closed, that is, deleted from the interface 10a, so as to avoid the notification window 10a-1 blocking other contents in the interface 10a.

[0204] In addition, it should be noted that the operation of creating the second Activity is also implemented by the interface management service. For the specific processing logic, please refer to the above embodiment, in which the interface management service creates an Activity for displaying nearby shopping malls on the map application, that is, Fig.12 The description of step S108 in will not be repeated here.

[0205] S204, destroy the first Activity.

[0206] Specifically, the finish() interface may be called to destroy the first Activity.

[0207] S205, displaying a second interface, where the second interface corresponds to a second Activity.

[0208] For example, when the first option is to view the "Nearby Shopping Malls" option, since the current location information of the terminal device is carried, after the map application is started, it will directly search for shopping malls near the current location. Therefore, the searched nearby shopping mall information will be displayed in the second interface, so that the user can view the corresponding shopping mall information and go to the appropriate shopping mall to perform event 1.

[0209] Therefore, when the user interacts with the notification window, such as clicking on the first option in the notification window, in response to the operation, a first Activity with a transparent theme attribute, that is, invisible, is created. In this way, without the user's perception, the first Activity is used to create a second Activity of the second application to be jumped to, and ultimately it is possible to jump from the notification window to the second interface of the second application, that is, the interface corresponding to the second Activity.

[0210] In addition, it should be understood that in some implementations, a hot key area can usually be set for the notification window, that is, when the user clicks on the specified area of ​​the notification window, the terminal device can directly pull up the third interface of the first application in response to the operation.

[0211] Exemplarily, the third interface may be, for example, a main interface corresponding to the first application, or may be a designated interface corresponding to the notification message displayed in the notification window.

[0212] It is understandable that in order to directly launch the third interface of the first application, the first application can transmit the identification information of the first application to the notification management service when sending the constructed notification message and related parameters to the notification management service. In this way, when the user interacts with the notification window, such as clicking on the preset area, the third interface of the first application can be directly launched according to the identification information of the first application.

[0213] In addition, it should be noted that since the content displayed in the notification window is provided by the first application, the first application can be directly started through the notification window of the first application. Therefore, in the process of starting the third interface of the first application, there is no need to first create the invisible first Activity mentioned above, and then start the third interface of the first application in the first Activity. The interface management service directly calls the corresponding functional interface according to the current life cycle of the third interface, such as the onRestart() interface, or first calls the onCreate() interface and then calls onStart() to start the Activity corresponding to the third interface of the first application.

[0214] It should be understood that the above description is only an example for better understanding the technical solution of this embodiment, and is not the only limitation to this embodiment. In practical applications, the first application can be any application capable of pushing notifications, and the second application can be an application involved in the event to be processed.

[0215] For example, in the above-mentioned ticket grabbing scenario, the first application may be a clock application, a reminder application, etc., which is set with corresponding reminders. Correspondingly, the second application may be the corresponding ticket grabbing software.

[0216] It is understandable that in the ticket grabbing scenario, the event name displayed in the notification window may be, for example, the train ticket or flight number to be snapped up, and the start time of the event may be, for example, the time when the tickets start to be released.

[0217] Correspondingly, in the ticket grabbing scenario, illustratively, in some implementations, the method bound to the first option is, for example, jumping to a corresponding ticket grabbing application. In other implementations, the method bound to the first option may also be going to a place where tickets can be purchased in the attachment, etc.

[0218] It should be understood that the above description is merely an example listed for a better understanding of the technical solution of this embodiment, and is not intended to be the sole limitation to this embodiment.

[0219] In addition, it can also be understood that, in order to implement the above functions, the terminal device includes hardware and / or software modules corresponding to the execution of each function. 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. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to be beyond the scope of this application.

[0220] In addition, it should be noted that the interface jump method of the application provided in the above embodiments implemented by the terminal device in the actual application scenario can also be executed by a chip system included in the terminal device, wherein the chip system may include a processor. The chip system can be coupled to the memory so that the chip system calls the computer program stored in the memory when it is running to implement the steps executed by the above terminal device. The processor in the chip system can be an application processor or a processor other than an application processor.

[0221] In addition, an embodiment of the present application also provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a terminal device, the terminal device executes the above-mentioned related method steps to implement the interface jump method of the application in the above-mentioned embodiment.

[0222] In addition, an embodiment of the present application also provides a computer program product. When the computer program product is run on a terminal device, the terminal device executes the above-mentioned related steps to implement the interface jump method of the application in the above-mentioned embodiment.

[0223] In addition, an embodiment of the present application also provides a chip (which may also be a component or module), which may include one or more processing circuits and one or more transceiver pins; wherein the transceiver pins and the processing circuit communicate with each other through an internal connection path, and the processing circuit executes the above-mentioned related method steps to implement the interface jump method of the application in the above-mentioned embodiment, so as to control the receiving pin to receive the signal, so as to control the sending pin to send the signal.

[0224] In addition, it can be seen from the above description that the terminal device, computer-readable storage medium, computer program product or chip provided in the embodiments of the present application are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0225] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for jumping to an application interface, characterized in that: The method comprises: Displaying a first interface, wherein the first interface includes a notification window corresponding to a first application, the notification window includes a first option, and the first interface is not an interface corresponding to the first application; wherein, when the first interface is not an interface corresponding to a notification center, the notification window plays a prompt sound during display; and when the first interface is an interface corresponding to the notification center, the notification window does not play a prompt sound during display; the notification message in the notification window is pre-constructed by the first application and sent to a notification management service, and when the system time reaches the start time corresponding to the notification message, the notification management service controls the notification window to be displayed on the first interface; In the case where the current operating system is a first version operating system, when a click operation on the first option is received, in response to the click operation on the first option, a first Activity is created, and a theme attribute of the first Activity is configured to be transparent; wherein, in the first version operating system, in the notification window, a service of a notification activity startup component or a broadcast receiver cannot be used to start an Activity corresponding to the second application; After creating the first Activity, creating a second Activity, the second Activity belonging to a second application; wherein, when the first interface is not an interface corresponding to the notification center, after creating the first Activity, closing the prompt sound and the notification window, and creating the second Activity; and when the first interface is an interface corresponding to the notification center, after creating the first Activity, closing the notification window, and creating the second Activity; Destroy the first Activity; Displaying a second interface, where the second interface corresponds to the second Activity; In the case where the current operating system is a second version operating system, when a click operation on the first option is received, in response to the click operation on the first option, the second Activity is created; wherein, in the second version operating system, the service of the notification activity startup component or the broadcast receiver can be used in the notification window to start the Activity corresponding to the second application; When the current operating system is the first version operating system or the second version operating system, when a click operation on a preset area of ​​the notification window is received, a third interface is displayed in response to the click operation on the preset area, and the third interface belongs to the first application; wherein, in the process of displaying the third interface, the first Activity is not created.

2. The method according to claim 1, characterized in that When displaying the first interface, the method further includes: Acquire identification information corresponding to the notification window, where the identification information is used to indicate whether a first interface displaying the notification window is an interface corresponding to the notification center; When it is determined according to the identification information that the first interface is not an interface corresponding to the notification center, setting the notification window to play a prompt sound during display; When it is determined according to the identification information that the first interface is the interface corresponding to the notification center, the notification window is set not to play a prompt sound during display.

3. The method according to claim 1, characterized in that The method further comprises: During the process of playing the prompt sound, if no click operation is received on the first option or any area of ​​the notification window, after the duration of playing the prompt sound reaches the set prompt sound duration, a new notification window is generated on the interface corresponding to the notification center, and the notification information in the notification window is displayed in the new notification window; Close the notification window displayed in the first interface.

4. The method according to claim 1, characterized in that Before displaying the notification window in the first interface, the method further includes: The first application constructs a notification message and sends the notification message to the notification manager, wherein the notification message includes a start time of a target event; The displaying the notification window in the first interface includes: When the system time reaches the start time, the notification manager causes the notification message to be displayed in the notification window in the first interface.

5. The method according to claim 4, characterized in that The first application constructs a notification message and sends the notification message to the notification manager, including: Before constructing the notification message, the first application detects whether the notification function is enabled; When the notification function is not enabled, monitoring the enabling status of the notification function; After detecting that the notification function is enabled, the first application constructs the notification message and sends the notification message to the notification manager.

6. The method according to claim 5, characterized in that The method further comprises: After the notification function is enabled and callback information of the last notification message constructed by the first application is received and displayed in the first interface, the first application constructs the notification message and sends the notification message to the notification manager.

7. The method according to claim 1, characterized in that The third interface is the main interface of the first application.

8. The method according to any one of claims 1 to 7, characterized in that: The first application is a clock application, and the second application is a map application.

9. The method according to claim 8, characterized in that The first option is used to display the location of nearby events in the second interface after the second interface is displayed.

10. The method according to claim 8, characterized in that The notification window also includes: a mark of a clock application, an event name, a start time of the event, a calculation time for calculating the start time, and a second option.

11. The method according to claim 10, characterized in that The calculation time displayed in the notification window is the calculation time of the most recent update, and the start time is the start time calculated from the calculation time of the most recent update.

12. The method according to claim 10, characterized in that The method further comprises: In response to a click operation on the second option, closing the notification window.

13. A terminal device, characterized in that: The terminal device includes: a memory and a processor, the memory and the processor are coupled; the memory stores program instructions, and when the program instructions are executed by the processor, the terminal device executes the interface jump method of the application as described in any one of claims 1 to 12.

14. A computer-readable storage medium, characterized in that: It includes a computer program, which, when running on a terminal device, enables the terminal device to execute the interface jump method of the application program as described in any one of claims 1 to 12.

Citation Information

Patent Citations

  • Application starting method and device for compatible operation of Android system on Linux

    CN113254154A

  • Notification message reminding method and electronic equipment

    CN114844984A