A method and apparatus for saving page features and page jumping
By saving the mapping relationship between page characteristics and operation intentions, automatic jump across pages or across applications is achieved, and the problem of the need to restart the APP in the existing technology mid-to-page or across application voice control is solved, improving user experience and efficiency.
Patent Information
- Application Number
- CN202110268624.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-12
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2041-03-12
AI Technical Summary
When implementing voice control across pages or across applications, the prior art requires restarting the APP from a preset location, resulting in poor user experience and increased startup delay.
By saving the mapping relationship between page characteristics and operation intentions, automatic jump across pages or across applications is achieved without restarting the APP from a preset location.
Improves page jump efficiency and user experience, reduces startup delay, and does not require configuration files or three-party cooperation.
Smart Images

Figure CN115080159B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminals, and in particular, to a method for saving page features, a method for page jumping, and a device. Background Art
[0002] With the rapid development of terminal devices such as smart phones and smart TVs, using voice to control smart terminals and provide functional services for users has become a new trend in the development of the terminal field. For example, using voice to control mobile phone shopping, placing orders, forwarding and sharing, etc. Currently, for simple voice commands issued by users, such as services such as "report weather" can already give service responses on terminal devices. However, for cross-page or cross-application voice control operations, often due to partial or all functions not being executable, the service cannot output a service response.
[0003] See Figure 1 , a user operation performed by a user on an online shopping APP. For example, the user views the "to-be-received" goods in the "Huawei Mall" APP on a Huawei mobile phone. Specifically, in the product details page browsed by a HUAWEI Mate 40 mobile phone after starting the "Huawei Mall", when receiving the voice command "view to-be-received" issued by the user, it is executed according to the pre-configured program. Step 1, the APP will first click "Back" and exit the "Huawei Mall"; Step 2, start the "Huawei Mall" APP and enter the main page of the APP; Step 3, click "My" on the main page; Step 4, click "To-be-received" after entering the "My" page; Step 5, view the to-be-received orders in the "To-be-received" display page.
[0004] In the above process, regardless of whether the voice command currently issued by the user is for the APP page of the "Huawei Mall", it needs to be executed starting from a preset position. This preset position can be the APP home page. Generally, it is necessary to return and exit the "Huawei Mall" APP, then start the APP home page again, and execute the cross-page operation intention. Therefore, the operation of closing and then restarting the APP will affect the user experience, and at the same time increase the startup delay, resulting in an unsmooth execution of the cross-page voice control function. Summary of the Invention
[0005] This application provides a method for saving page features, a usage method, and a device, which are used to achieve automatic jumping between cross-pages or cross-application APPs, execute cross-page or cross-application operation intentions according to user operation habits, without starting and restarting the APP from a preset position, and without a configuration file, thereby improving the user experience. Specifically, the following technical solutions are disclosed:
[0006] In a first aspect, the present application provides a method for saving page features. The method can be applied to a terminal device. The method includes: receiving a first operation of a user on a first page of a display screen, and in response to the first operation, displaying a second page on the display screen, where the second page is different from the first page, and saving a first mapping relationship.
[0007] Wherein, the first mapping relationship includes: page features of the first page, page features of the second page, and operation features of the first operation, and there is a mapping relationship between the page features of the first page and the operation features of the first operation after binding and the page features of the second page. The first operation includes, but is not limited to, clicking, swiping, tapping, dragging, etc., and the operation features of the first operation are data or information extracted related to operations such as user clicking, swiping, tapping, dragging, etc.
[0008] The method provided in this embodiment extracts features of different pages generated before and after the user's operation, tags them, learns and stores the user's operation habits, that is, after establishing a binding relationship between the page features of one page and the operation features of the user operation, a mapping relationship is established with the destination page (the page to be jumped to). Thus, when the operation is performed again, the intention can be executed according to the user's operation habits, that is, the cross-page intention can be executed according to the user's operation habits on any page, without restarting the APP, without a configuration file, and without the cooperation of a third party, improving the page jump efficiency and user experience.
[0009] In combination with the first aspect, in a possible implementation manner of the first aspect, the first page is different from the second page, including:
[0010] The first view name of the first page is different from the second view name of the second page;
[0011] Or, the first view name and the second view name are the same, and there is at least one tab page in the directories of the first view name and the second view name, and the first tab page in the directory of the first view name is different from the second tab page in the directory of the second view name.
[0012] Wherein, the first tab page is one of the multiple tab pages in the directory of the first view name, and the second tab page is one of the multiple tab pages in the directory of the second view name. Further, the second tab page is the page displayed after the user performs the first operation, and the first tab page is the interface displayed before the user performs the first operation.
[0013] In this implementation manner, it can be determined whether two pages are the same page through the view name of each page and the tab page, so as to determine whether it is necessary to learn the first operation of the user.
[0014] Optionally, the name of the first view is the name of the first activity, and the name of the second view is the name of the second activity. The first tab page is the first Tab page, and the second tab page is the second Tab page.
[0015] In addition, it should be noted that in this implementation, different pages are marked by view names. It should be understood that other identifiers, such as identifiers, can also be used to mark pages. This application places no restrictions on the identifiers for identifying each page.
[0016] Combined with the first aspect, in another possible implementation of the first aspect, the first page is different from the second page, and further includes:
[0017] When the names of the first view and the second view are the same, and at least one of the directories of the names of the first view and the second view does not contain tab pages, obtain the view trees of the first page and the second page, and compare the similarity between the view tree of the first page and the view tree of the second page; if the similarity does not exceed the threshold, determine that the first page and the second page are different.
[0018] In addition, if the similarity exceeds the threshold, determine that the first page and the second page are the same.
[0019] Combined with the first aspect, in yet another possible implementation of the first aspect, before saving the first mapping relationship, it further includes: checking whether the first page and the second page are stored locally. Among them, checking whether the first page is stored includes:
[0020] Obtain the name of the first view and the first page identifier corresponding to the first page. The name of the first view and the first page identifier have been marked and generated during page design, and the first page identifier is used to uniquely identify the first page. Check whether there is a page stored in the database that matches both the name of the first view and the first page identifier; if not, establish the storage of the name of the first view, and save the first page in the storage of the name of the first view.
[0021] Specifically, the matching page refers to a page where the storage of the name of the first view is stored in the database, and the first page identifier is included in the storage of the name of the first view.
[0022] In addition, it further includes: if so, that is, if there is already a page that matches both the above in the database, determine the page that matches both the name of the first view and the first page identifier as the source page.
[0023] In combination with the first aspect, in another possible implementation manner of the first aspect, finding whether the first page is stored includes: obtaining the second view name and the second page identifier corresponding to the second page, and finding in the database whether there is a page that matches both the second view name and the second page identifier, that is, determining whether the storage of the second view name is stored in the database, and whether the storage of the second view name includes the second page identifier; if not, establishing the storage of the second view name and saving the second page in the storage of the second view name.
[0024] In combination with the first aspect, in another possible implementation manner of the first aspect, it further includes: if a page that matches both the second view name and the second page identifier is found in the database, determining the page that matches both the second view name and the second page identifier as the target page.
[0025] Finding in the database whether there is an operation feature from the source page to the target page, and if not stored, storing the operation feature of the first operation.
[0026] In addition, it further includes: if the operation feature between the source page and the target page is stored and there are M operation features stored in the database, further determining whether the M operation features include the operation feature of the first operation. If the M operation features do not include the operation feature of the first operation, storing the operation feature of the first operation, where M≥1 and M is a positive integer.
[0027] If the operation feature of the first operation is included, it is not stored, indicating that the operation feature of the first operation has been pre-stored.
[0028] In a second aspect, the present application also provides a page jump method, which can be applied to a terminal device. The method includes: when receiving a first voice command issued by a user, obtaining a third page displayed on a display screen; determining a fourth page according to the first voice command, where the fourth page is a target page that responds to the first voice command and provides services for the user; finding whether there is a jump path stored between the third page and the fourth page, and if so, jumping from the third page to the fourth page according to the jump path.
[0029] Among them, the jump path includes N mapping relationships from the third page to the fourth page. Each of the N mapping relationships includes: the page feature of the current page, the page feature of the next page of the current page, and the operation feature of the operation from the current page to the next page. And after the page feature of the current page and the operation feature are bound, they have a mapping relationship with the page feature of the next page, where N≥1 and N is a positive integer.
[0030] Optionally, when N = 1, the current page is the third page, and the next page of the current page is the fourth page. The mapping relationship includes: the page feature of the third page, the operation feature of the second operation, and the page feature of the fourth page. The second operation is the operation for the user to enter the fourth page from the third page. The second operation includes, but is not limited to, clicking, swiping, tapping, dragging, etc.
[0031] This method can automatically learn the user's habits of operating the APP, thereby constructing a page jump graph. At the same time, each page of the APP is labeled, and when using it, only the label needs to be queried, without restarting the APP, without a configuration file, and without the cooperation of a third party, saving manpower and improving the user experience.
[0032] Combined with the second aspect, in a possible implementation manner of the second aspect, finding out whether there is a stored jump path between the third page and the fourth page includes: finding out whether the jump path is stored according to the method of graph traversal. Further, it is found by the depth-first traversal of graph theory, and the maximum depth is set to balance efficiency.
[0033] In addition, combined with the second aspect, in another possible implementation manner of the second aspect, it further includes: if it is found that the jump path is not stored, an indication information of jump failure or inability to jump is sent, because the user's operation of jumping from the third page to the fourth page has not been learned in advance, that is, the mapping relationship from the third page to the fourth page has not been established.
[0034] In a third aspect, the present application further provides a device for saving page features, including: a page monitoring module, configured to receive a first operation of a user on a first page of a display screen; a page jump update module, configured to display a second page different from the first page on the display screen in response to the first operation; a storage unit, configured to save a first mapping relationship, where the first mapping relationship includes: the page feature of the first page, the page feature of the second page, and the operation feature of the first operation, and after the page feature of the first page and the operation feature of the first operation are bound, they have a mapping relationship with the page feature of the second page.
[0035] In combination with the third aspect, in a possible implementation manner of the third aspect, it further includes a page comparison module, and the page comparison module is used to compare whether the first page and the second page are the same.
[0036] Wherein the difference between the first page and the second page includes:
[0037] The first view name of the first page is different from the second view name of the second page;
[0038] Or, the first view name and the second view name are the same, both the directories of the first view name and the second view name contain tab pages, and the first tab page under the directory of the first view name is different from the second tab page in the directory of the second view name, and the second tab page is the page after performing the first operation.
[0039] In combination with the third aspect, in another possible implementation manner of the third aspect, the page comparison module is further used to, when the first view name and the second view name are the same and at least one of the directories of the first view name and the second view name does not contain a tab page, obtain the view trees of the first page and the second page, and compare the similarity between the view tree of the first page and the view tree of the second page; and when the similarity does not exceed the threshold, determine that the first page and the second page are different.
[0040] Optionally, the similarity can be represented by resolution.
[0041] In combination with the third aspect, in another possible implementation manner of the third aspect, it further includes a component query module, and the component query module is used to obtain the first view name and the first page identifier corresponding to the first page, and check in the database whether there is a page that matches both the first view name and the first page identifier; if not, establish the storage of the first view name; the storage unit is further used to save the storage of the first view name, and save the first page in the storage of the first view name.
[0042] In combination with the third aspect, in another possible implementation manner of the third aspect, the component query module is further used to, when it is found in the database that there is a page that matches both the first view name and the first page identifier, determine the matching page as the source page.
[0043] In combination with the third aspect, in another possible implementation manner of the third aspect, the component query module is further configured to, when a page that matches both the second view name and the second page identifier is found in the database, determine the matched page as the target page, and search in the database whether there is an operation feature from the source page to the target page; the storage unit is further configured to store the operation feature of the first operation when the operation feature is not stored.
[0044] In combination with the third aspect, in another possible implementation manner of the third aspect, the component query module is further configured to, when there are M operation features stored in the database, determine whether the M operation features include the operation feature of the first operation, where M≥1 and M is a positive integer; the storage unit is further configured to store the operation feature of the first operation when the component query module determines that the operation feature of the first operation is not included.
[0045] Fourth aspect, the present application further provides a page jump device, the device includes: a page monitoring module, configured to, when receiving a first voice command issued by a user, obtain a third page displayed on a display screen, and determine a fourth page according to the first voice command, where the fourth page is a target page that responds to the first voice command and provides services for the user; a path query module, configured to search whether there is a jump path stored between the third page and the fourth page, where the jump path includes N mapping relationships from the third page to the fourth page, and if so, jump from the third page to the fourth page according to the jump path.
[0046] Wherein, each of the N mapping relationships includes: a page feature of the current page, a page feature of the next page of the current page, and an operation feature of the operation from the current page to the next page, and there is a mapping relationship between the page feature of the current page and the next page feature after the page feature of the current page and the operation feature are bound, where N≥1 and N is a positive integer.
[0047] Fifth aspect, the present application further provides a terminal device, the terminal device includes at least one processor and a memory, where the memory is used to store computer program instructions, and / or, data; the at least one processor is used to execute the instructions to implement the methods in the foregoing first aspect and various implementation manners of the first aspect, and the methods in the second aspect and various implementation manners of the second aspect.
[0048] Optionally, the terminal device further includes an interface circuit, and the interface circuit is used to provide instructions and / or data for the at least one processor.
[0049] Optionally, the at least one processor and the processor may be integrated in a processing chip or a chip circuit.
[0050] Optionally, the terminal device includes, but is not limited to, a mobile phone, a PC, and a tablet computer.
[0051] In a sixth aspect, the present application further provides a computer-readable storage medium, in which instructions are stored, so that when the instructions run on a computer or a processor, they can be used to execute the methods in the foregoing first aspect and various implementation manners of the first aspect, and the methods in the foregoing second aspect and various implementation manners of the second aspect.
[0052] In addition, the present application further provides a computer program product, which includes computer instructions. When the instructions are executed by a computer or a processor, the methods in the foregoing first aspect and various implementation manners of the first aspect, and the methods in the foregoing second aspect and various implementation manners of the second aspect can be implemented.
[0053] It should be noted that the beneficial effects corresponding to the technical solutions of the various implementation manners of the foregoing second aspect to the sixth aspect are the same as the beneficial effects of the foregoing first aspect and various implementation manners of the first aspect. For specific reference, see the description of the beneficial effects in the foregoing first aspect and various implementation manners of the first aspect, and details will not be repeated. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 It is a flowchart of page jump in response to a voice command provided by the present application;
[0055] Figure 2 It is a schematic structural diagram of a terminal device provided by the present application;
[0056] Figure 3 It is a structural block diagram of a terminal device provided by the present application;
[0057] Figure 4 It is a flowchart of a page feature saving method provided by the present application;
[0058] Figure 5 It is a flowchart of determining whether two pages are the same provided by the present application;
[0059] Figure 6a It is a schematic diagram of the same activity provided by the present application;
[0060] Figure 6b It is provided by the present application A page schematic diagram of a page address book;
[0061] Figure 6c It is provided by the present application Schematic diagram of the product details page of the page;
[0062] Figure 7a Schematic diagram of the structure of the view tree in the Android system provided by this application;
[0063] Figure 7b Schematic diagram of jumping from the chat page to the address book page provided by this application;
[0064] Figure 8a Schematic diagram of storing the label and jump operation relationship of different pages provided by this application;
[0065] Figure 8b For this application, a Operation flowchart of returning from the product details page to the main page;
[0066] Figure 8c Schematic diagram of learning and storing the mapping relationship between two pages provided by this application;
[0067] Figure 8d For this application, learning and storing Figure 1 Schematic diagram of the mapping relationship of the page jump process shown;
[0068] Figure 9a Schematic diagram of a user jumping from the third page to the fourth page provided by this application;
[0069] Figure 9b Schematic diagram of storing the page mapping relationship of the user's newly added user operations provided by this application;
[0070] Figure 10 Schematic diagram of storing the relationship of component a provided by this application;
[0071] Figure 11a Flowchart of a page jump method provided by this application;
[0072] Figure 11b Schematic diagram of the flowchart of voice control for page jump between cross - application APPs provided by this application;
[0073] Figure 12 Schematic diagram of the structure of a chip system provided by this application. Detailed implementation mode
[0074] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0075] Before describing the technical solution of the embodiments of the present application, the application scenarios of the embodiments of the present application will be described first.
[0076] The technical solution of the present application can be applied to a terminal device, in which at least one Android application package (APK) can be loaded, and various service functions can be implemented by using the at least one APK, such as the voice control APP function. The APK includes a voice assistant or a voice package.
[0077] Among them, the terminal device includes any one of the following devices, such as a mobile phone, a laptop computer, a tablet computer, a personal computer (PC), a personal digital assistant (PDA), a foldable terminal, a vehicle-mounted terminal, a wearable device with wireless communication function (such as a smart watch or a bracelet), a user device (UE), and an augmented reality (AR) or virtual reality (VR) device, etc. The embodiments of the present application do not limit the specific device form of the terminal device. In addition, the above various terminal devices include but are not limited to those equipped with Apple (IOS), Android, Microsoft or other operating systems.
[0078] Taking the above terminal device as a mobile phone as an example, refer to Figure 2 A schematic structural diagram of a terminal device is shown. For example, a mobile phone terminal, which 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 radio frequency module 150, a communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0079] It can be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the mobile phone. In other embodiments of the present application, the mobile phone may include more or fewer components than those illustrated, or combine certain components, or split certain components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0080] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.
[0081] A memory may also be provided in the processor 110 for storing program instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can save the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can directly call it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0082] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0083] Among them, the I2C interface is a two-way synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be respectively coupled to the sensor module 180, the charger, the flashlight, the camera 193, etc. through different I2C bus interfaces. The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple groups of I2S buses. The processor 110 may be coupled to the audio module 170 through the I2S bus to achieve communication between the processor 110 and the audio module 170.
[0084] The PCM interface can also be used for audio communication to sample, quantize, and encode analog signals. In some embodiments, the audio module 170 and the communication module 160 can be coupled through a PCM bus interface. The UART interface is a general-purpose serial data bus for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the communication module 160. The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. In some embodiments, the processor 110 and the camera 193 communicate through a camera serial interface (CSI) to implement the shooting function of the mobile phone. The processor 110 and the display screen 194 communicate through a display serial interface (DSI) to implement the display function of the mobile phone.
[0085] The USB interface 130 is an interface that complies with the USB standard specification, specifically, it can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the mobile phone, and can also be used to transfer data between the mobile phone and peripheral devices. It can also be used to connect headphones to play audio. This interface can also be used to connect other terminal devices, such as AR devices, etc.
[0086] It can be understood that the interface connection relationships between the modules illustrated in the embodiments of the present application are only illustrative and do not constitute a limitation on the structure of the mobile phone. In other embodiments of the present application, the mobile phone can also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0087] The charging management module 140 is used to receive a charging input from a charger. Among them, the charger can be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module 140 can receive the charging input from a wired charger through the USB interface 130. In some embodiments of wireless charging, the charging management module 140 can receive the wireless charging input through the wireless charging coil of the mobile phone. While charging the battery 142, the charging management module 140 can also supply power to the terminal device through the power management module 141.
[0088] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives the inputs from the battery 142 and / or the charging management module 140 and supplies power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, the communication module 160, etc. The power management module 141 can also be used to monitor parameters such as the battery capacity, the number of battery cycles, and the battery health status (leakage, impedance). In some embodiments, the power management module 141 and the charging management module 140 can also be provided in the same device.
[0089] The wireless communication function of the mobile phone can be implemented by the antenna 1, the antenna 2, the radio frequency module 150, the communication module 160, the modulation and demodulation processor, and the baseband processor, etc. Among them, the antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the mobile phone can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas.
[0090] The radio frequency module 150 can provide solutions for wireless communications such as 2G / 3G / 4G / 5G applied to the mobile phone. The radio frequency module 150 can include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The radio frequency module 150 can receive electromagnetic waves from the antenna 1, filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The radio frequency module 150 can also amplify the signal modulated by the modulation and demodulation processor and convert it into electromagnetic waves through the antenna 1 and radiate it out. In some embodiments, at least some functional modules of the radio frequency module 150 can be provided in the processor 110. In some embodiments, at least some functional modules of the radio frequency module 150 and at least some modules of the processor 110 can be provided in the same device.
[0091] The modulation and demodulation processor can include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. Subsequently, the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. In some embodiments, the modulation and demodulation processor can be an independent device, or independent of the processor 110 and provided in the same device as the radio frequency module 150 or other functional modules.
[0092] The communication module 160 may provide solutions for wireless communications applied to a mobile phone, including wireless local area networks (WLANs) (such as wireless fidelity (WiFi) networks), Bluetooth (BT), global navigation satellite systems (GNSSs), frequency modulation (FM), near field communication (NFC), infrared technology (IR), etc. The communication module 160 may be one or more devices integrating at least one communication processing module. The communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on the electromagnetic wave signals, and sends the processed signals to the processor 110. The communication module 160 may also receive signals to be sent from the processor 110, perform frequency modulation on them, amplify them, and convert them into electromagnetic waves through the antenna 2 for radiation.
[0093] In some embodiments, antenna 1 of the mobile phone is coupled to the radio frequency module 150, and antenna 2 is coupled to the communication module 160, enabling the mobile phone to communicate with the network and other devices through wireless communication technologies. The wireless communication technologies may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long-Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Beidou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite Based Augmentation Systems (SBAS).
[0094] In the embodiments of the present application, the display screens 1 to N 194 may include a display and a touch device. The display is used to output display content to the user, and the touch device is used to receive touch events input by the user on the display screen. In some embodiments, the mobile phone may include 1 or N cameras 193, where N is a positive integer greater than 1.
[0095] In the mobile phone, the sensor module 180 may include one or more of a gyroscope sensor, an acceleration sensor, a pressure sensor, a barometric pressure sensor, a magnetic sensor (such as a Hall sensor), a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, or an ambient light sensor, etc. The embodiments of the present application do not impose any restrictions on this.
[0096] Among them, the video codec is used to compress or decompress digital videos. The mobile phone can support one or more video codecs. In this way, the mobile phone can play or record videos in multiple encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0097] The NPU is a neural-network (NN) computing processor. By drawing on the structure of the biological neural network, such as the transmission pattern between human brain neurons, it can quickly process the input information and can also continuously self-learn. Through the NPU, applications such as intelligent cognition of the mobile phone can be realized, such as image recognition, face recognition, speech recognition, text understanding, etc.
[0098] 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 mobile phone. The external memory card communicates with the processor 110 through the external memory interface 120 to achieve the data storage function. For example, files such as music and videos are saved in the external memory card.
[0099] The internal memory 121 can be used to store computer-executable program code, and the executable program code includes instructions. The processor 110 executes various functional applications and data processing of the mobile phone by running the instructions stored in the internal memory 121. The internal memory 121 can include a program storage area and a data storage area. Among them, the program storage area can store the operating system, application programs required for at least one function (such as the sound playback function, the image playback function, etc.). The data storage area can store the data created during the use of the mobile phone (such as audio data, phone book, etc.). In addition, the internal memory 121 can include high-speed random access memory and can also include non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0100] The mobile phone can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D, and the application processor, etc. Such as music playback, recording, etc.
[0101] The audio module 170 is used to convert digital audio information into an analog audio signal for output, and is also used to convert analog audio input into a digital audio signal. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be disposed in the processor 110, or some functional modules of the audio module 170 can be disposed in the processor 110.
[0102] The speaker 170A, also known as the "loudspeaker", is used to convert an audio electrical signal into a sound signal. The mobile phone can listen to music or hands-free calls through the speaker 170A.
[0103] The receiver 170B, also known as the "earpiece", is used to convert an audio electrical signal into a sound signal. When answering a call or a voice message on the mobile phone, the voice can be listened to by holding the receiver 170B close to the ear.
[0104] The microphone 170C, also known as the "microphone" or "transmitter", is used to convert a sound signal into an electrical signal. When making a call or sending a voice message, the user can speak close to the microphone 170C to input the sound signal into the microphone 170C. The mobile phone can be provided with at least one microphone 170C. In some other embodiments, the mobile phone can be provided with two microphones 170C, which can not only collect sound signals but also implement a noise reduction function. In some other embodiments, the mobile phone can also be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify the sound source, implement a directional recording function, etc.
[0105] The headphone jack 170D is used to connect a wired headphone. The headphone jack 170D can be a USB interface 130, or a 3.5 mm open mobile terminal platform (OMTP) standard interface, or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0106] The keys 190 include a power-on key, volume keys, etc. The keys 190 can be mechanical keys or touch keys. The mobile phone can receive key inputs and generate key signal inputs related to the user settings and function controls of the mobile phone.
[0107] The motor 191 can generate vibration prompts. The motor 191 can be used for incoming call vibration prompts or touch vibration feedback. For example, touch operations on different applications (such as taking pictures, audio playing, etc.) can correspond to different vibration feedback effects. Touch operations on different regions of the display screen 1 - N 194 can also correspond to different vibration feedback effects for the motor 191. Different application scenarios (such as time reminder, receiving messages, alarm clock, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0108] 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.
[0109] The SIM card interface 195 is used to connect to the SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to achieve contact and separation from the mobile phone. The mobile phone can support one or N SIM card interfaces, where N is a positive integer greater than 1.
[0110] In addition, an operating system runs on the above components. For example, the iOS operating system developed by Apple Inc., the Android open-source operating system developed by Google Inc., the Windows operating system developed by Microsoft Corporation, etc. Application programs can be installed and run on this operating system.
[0111] In the above terminal device, a third-party voice control / voice module program package, such as an APK, is also installed to provide corresponding services for voice commands issued by the user. Among them, the voice control / voice module can achieve a series of operations across pages or applications through simulated clicks. Simulated clicks write the operations to be implemented in a configuration file in a predefined form. When an operation needs to be executed, the operation and components are read from the configuration file and then executed.
[0112] Such as Figure 1 in the operation of clicking "My" in the APP can be achieved according to the following simulated click. Exemplarily, it is recorded in JSON (JavaScript Object Notation): action: click, Text: "My"; ActivityName (view name): "com.huawei.huaweistore.MainActivity". When executing: find the component with the text "My" under com.huawei.huaweistore.MainActivity, and then execute the click action click. This method of writing the execution operation in the configuration file in advance, although it can implement the voice control function, will also have the following problems:
[0113] 1. Simulated clicks require manual configuration files, and the functions of manual configuration files (such as JSON) are limited and need to rely on third-party implementations. If the third-party application APP is upgraded, it may cause the originally configured execution operation program to be unusable. For example, if "My" is renamed to "My Mall", then clicking on the "My Mall" icon after the change will cause the page jump function to fail to execute.
[0114] 2. The execution operations of simulated clicks generally start from a fixed position (such as the home page). During the execution in the middle process, the APP needs to be closed and then restarted, which affects the user experience.
[0115] To solve the above problems, the embodiments of the present application use a page jump diagram to construct the mapping relationship between each page, so as to directly jump from the current source page to the destination page, that is, to perform cross-page / cross-application actions according to user habits on any page, without restarting the APP, without manual configuration files and third-party cooperation, saving manpower and improving the user experience at the same time.
[0116] Specifically, referring to Figure 3 , it is the structural block diagram of the virtual device corresponding to the above terminal device. The device includes: a processing module 10, a path query module 20, and a storage medium 30. Among them, the processing module 10 includes: a page monitoring module 101, a data operation 102, a page comparison module 103, a page extraction module 104, a page jump update module 105, and a component query module 106. In addition, the above processing module 10 may further include other more or fewer modules, and this embodiment does not limit this.
[0117] Among them, the functions and roles of each module are shown in Table 1.
[0118] Table 1, Module Function Comparison Table
[0119]
[0120] Specifically, after the page monitoring module 101 monitors that the user has performed a user operation on the display screen of the terminal device, such as a first operation, it sends the two pages before and after the user operation to the page comparison module 103. The first operation includes, but is not limited to, clicking, swiping, tapping, dragging, etc. For example, the page before the user performs the first operation is the first page, and the page after the first operation is the second page.
[0121] After receiving it, the page comparison module 103 compares whether the two pages before and after the operation are the same page. If so, the user operation this time does not generate a new page, that is, the page does not jump; if not, that is, they are not the same page, the page extraction module 104 is used to extract the feature information of the two pages before and after the user's first operation to obtain the page feature of the first page and the page feature of the second page, and send the page features of these two pages to the page jump update module 105.
[0122] The page jump diagram update module 105, after receiving the page features of the first page and the second page, queries whether there is a mapping relationship between the first page and the second page, that is, whether there is a jump path stored from the first page to the second page. If there is no storage, it means that the user's first operation is an addition operation, and the first operation is not stored in the database, then store the mapping relationship, including the page features of the first page and the second page, and the operation features of the first operation; if the mapping relationship has been stored, then further identify whether the user's first operation has been stored.
[0123] Specifically, the component query module 106 queries whether the first operation has been stored this time. Because there may be multiple operations between the first page and the second page, if the operation features of the first operation are stored, directly jump from the first page to the second page according to the stored first operation and the mapping relationship; if not stored, then store the operation features of the first operation, that is, learn and store the user's first operation. After establishing the binding between the page jump of the first page and the operation features of the first operation, jump to the second page's jump path.
[0124] When in use, the path query module 20 can query the jump path of any application APP on any page, that is, the mapping relationship from the first page and the operation features of the first operation to the second page, so as to realize the page jump operation according to the user's operation habits.
[0125] This method can autonomously learn the user's operation habits and store the user's operations, that is, take the first page and the user's first operation as inputs, and the second page as the output, and establish a mapping relationship between the input and the output, so as to avoid performing page jump operations according to a pre-set program configuration file.
[0126] Next, a method for saving a page feature provided in this embodiment will be introduced in detail.
[0127] See Figure 4 , which is a flowchart of a method for saving a page feature provided in an embodiment of the present application. This method can be applied to any of the foregoing terminal devices. The method includes:
[0128] 401: Receive the user's first operation on the first page of the display screen of the terminal device. The first operation includes but is not limited to operations such as user clicks, swipes, knocks, and drags. The operation features of the first operation are the data or information extracted from operations such as user clicks, swipes, knocks, and drags.
[0129] Specifically, the page monitoring module 101 of the terminal device obtains the first operation by using an accessibility feature. Among them, the accessibility feature can be a service provided by an Android system, such as the AccessibilityService feature of the Android system. This auxiliary service provides an enhanced user page and can identify the first operation of the user on the terminal device, thereby helping disabled people or those who may temporarily be unable to fully interact with the device to achieve human-computer interaction, such as voice control.
[0130] The page monitoring module 101 can also obtain information such as the View tree of the current application APP and the component that responds to the first operation.
[0131] 402: Display a second page on the display screen in response to the first operation, and the second page is different from the first page.
[0132] 403: Save a first mapping relationship, where the first mapping relationship includes: the page features of the first page, the page features of the second page, and the operation features of the first operation, and there is a first mapping relationship between the page features of the first page and the operation features of the first operation after binding and the page features of the second page.
[0133] The page features of the first page are used to identify the first page, the page features of the second page are used to identify the second page, and the operation features of the first operation are the jump path from the first page to the second page. The first mapping relationship is the correspondence between "the page features of the first page and the operation features of the first operation" and "the page features of the second page".
[0134] Optionally, the first mapping relationship is saved in the storage medium 30.
[0135] After the page monitoring module 101 of the terminal device monitors the first operation of the user, it inputs the two pages before and after the first operation of the user into the page comparison module 103. The page comparison module 103 determines whether the two pages are the same page, that is, whether the first operation of the user causes the page to change.
[0136] Specifically, as Figure 5 shown, after obtaining the second page after the first operation in step 402, the method for determining whether the first page and the second page are the same includes:
[0137] S1: Obtain the view (activity) names of the first page and the second page respectively.
[0138] Among them, an activity is an Android application component that provides an interface for interaction with the screen. Each activity obtains a window for drawing its user interface. The window can fill the entire screen or be smaller than the screen and float above other windows.
[0139] During the system testing phase, the terminal device obtains the activity names of each application through the test APP, including the first view name and the second view name. The first view name is the activity name of the first page, and the second view name is the activity name of the second page. There may be many tab pages in each view (activity) name, and each tab page can be a page. The implementation of clicking on tab pages by different parties has its own characteristics and may not follow the rules of Android controls. Therefore, it is possible to determine whether tab pages are the same from the perspective of computer vision (CV).
[0140] For example Figure 6a On the main page of "Huawei Mall" shown, components such as "Category", "Discover", "Shopping Cart", and "My" all have the same activity name. For example, their activity name is com.huawei.huaweistore.MainActivity. Among them, the tab page corresponding to "Category" is marked as "Tab 1", the tab page corresponding to "Discover" is marked as "Tab2", the tab page corresponding to "Shopping Cart" is marked as "Tab 3", and the tab page corresponding to "My" is marked as "Tab 4".
[0141] Similarly, in Figure 6b the page shown the tab page of "WeChat" is Tab1, the tab page of "Contacts" is Tab2, the tab page of "Messages" is Tab3, and the tab page of "Shopping Cart" is Tab4. The activity names of these 4 tab pages are all com.tencent.mm.MainActivity.
[0142] In addition, another situation where the activity names are the same is different windows under the same activity name. For example, Figure 6c as shown, the popped-up small window for goods (marked as window1 in the figure, which is a clickable page) and the window behind it that is covered (marked as window2 in the figure, the covered page) have the same activity name, which is com.taobao.taobao.DetailActivity, but their windows are different.
[0143] S2: Determine whether the activity names of the first page and the second page are the same. Among them, the activity name of the first page is the first view name, and the activity name of the second page is the second view name.
[0144] The above Figures 6a to 6c In any of the above views, there are different Tab pages, but the activity names are all the same name; however Figure 6a and Figure 6b The activity names of the two pages shown are different. Figure 6a The activity name of the page of the Huawei Mall shown in Figure 6b is "com.huawei.huaweistore.MainActivity", while The activity name of the page shown in
[0145] Similarly, Figure 6b and Figure 6c The page shown in Figure 6c is not the same page either, because The corresponding activity name of
[0146] Return to step S5. The above method further includes:
[0147] S3: If the activity names of the two pages are the same, then determine whether both the first page and the second page have Tab pages.
[0148] S4: Continuing from the aforementioned S3, if so, that is, both the first page and the second page contain at least one tab (Tab) page, then determine whether the first Tab page of the first page is the same as the second Tab page of the second page, where the first Tab page is the tab page before the user performs the first operation, and the second Tab page is the tab page after the user performs the first operation.
[0149] For example, Figure 6aAs shown, the first view name of the first page is "com.huawei.huaweistore.MainActivity". There are 4 Tab pages under this first view name directory, namely "Classification", "Discovery", "Shopping Cart" and "Mine". If the first Tab page under the current first view name directory is 1, indicating the Tab page of "Classification", and the second Tab page of the second page is 4, indicating the Tab page of "Mine", then it is determined at this time that the first Tab page is different from the second Tab page.
[0150] S5: Continuing from the aforementioned S4, if not, that is, the first Tab page and the second Tab page are different, then it is determined that the first page and the second page are different.
[0151] In addition, in the aforementioned step S2, it is judged that if the activity names of the first page and the second page are different, then it is determined that the first page and the second page are different, that is, step S5.
[0152] It also includes: S6: Continuing from the aforementioned S3, if not, that is, there is no Tab page in the first page, and / or there is no Tab page in the second page, then the observation (view) trees of the first page and the second page are traversed respectively, and the similarity between the view tree of the first page and the view tree of the second page is compared.
[0153] Among them, the view tree of the first page contains all the elements of the first page and the association relationships between the various elements. Similarly, the view tree of the second page contains all the elements of the second page and the association relationships between the various elements. Optionally, the view tree includes RootView, ViewGroup and view, etc.
[0154] As Figure 7a shown, it is a schematic structural diagram of a view tree in the Android system. The topological structure under an Activity is shown in this view tree. There is at least one Window in the Activity. The Window can be understood as the page displayed on the terminal device, and the Activity is responsible for managing the Window. In addition, each Window corresponds to a root View, also known as the root view DecorView of the window. DecorView is a FrameLayout used to add the layout file of the Activity, that is, RootView. Connected to RootView are different View nodes, such as ViewGroupA, ViewGroupB, View1 and View2, etc. Each Activity displays the components of various application APPs through different Views and / or ViewGroups.
[0155] Comparing the view trees of the first page and the second page means comparing the difference between the Activity layout file in the RootView of the first page and the Activity layout file in the RootView of the second page layer by layer. For example, when comparing the first page with the second page, the second page only has View1 but no View2. Then, in the four modules in the layout file 1 of the Activity, the second page has one less View component than the first page. The similarity is 1-25%=75%. When the two pages are completely similar, the similarity of the two pages is 100%. In this embodiment, it is assumed that the similarity of the view trees of the first page and the second page is 75%.
[0156] The similarity of the view tree is related to the number of elements in the view tree, the relationship between each element, and the type. The elements in the view tree include view, ViewGroup, etc. The relationship between each element can be a parent-child relationship, or a parallel parent-parent, or child-child relationship. The types include view and ViewGroup, etc.
[0157] S7: Following S6, determine whether the similarity between the view trees of the first page and the second page exceeds a threshold.
[0158] S8: Continuing from S7, if yes, that is, the similarity exceeds the threshold, it is determined that the first page and the second page are the same. Otherwise, if the similarity is less than or equal to the threshold, it indicates that the similarity between the two pages is not high, and further determines that the first page and the second page are not the same.
[0159] In this example, assuming that the threshold is 80%, according to the similarity obtained in S7 of 75% < 80%, it is determined that the first page and the second page are not the same; if the similarity of the two pages obtained in S7 is greater than 80%, it is determined that the first page and the second page are the same.
[0160] It should be understood that the similarity determined above may also be a range interval. For example, if the similarity of the view trees of two pages is determined to be 70% to 75%, it is further determined whether the range interval exceeds the threshold.
[0161] In this embodiment, by traversing the activity names, tab pages, and view trees of different pages, it can be determined whether two pages are the same page, and further determine whether the user's first operation generates a page change.
[0162] In addition, this embodiment may also use other methods to determine whether the first page and the second page are the same page, and this embodiment does not limit this.
[0163] When determining that the first page and the second page are different, corresponding to Figure 5 step S8, extract the page features of the first page and the second page. One implementation is to use the mobilenet classification model to train the top 100 apps collected, obtain the features of the page, and use this page feature as the label of the page; then, output the labeled first page and second page to the page jump update module 105. Among them, mobilenet classification is a small and efficient AI model proposed by Google, and this AI model can be used to complete tasks such as image classification.
[0164] For example Figure 7b For the two pages Page1 and Page2 in, they both have the same activity name, but their Tab pages are different. So in step S5, it is determined that these two pages are different pages, and then the page feature of the first page Page1 is marked as "chat page", and the page feature of the second page Page2 is marked as "address book page".
[0165] In addition, other pages can also be marked. For example, for any application APP, such as "Huawei Mall", or and so on. For each page in the APP, the corresponding page feature can be marked as a "Page", such as from Page1 to Page N.
[0166] In an example, for example, in Figure 1 "Step 3", the user clicks on "Mine", then the input of the page monitoring module is: the click event corresponding to the com.huaweistore.huawei.navigation.NavigationTabIndicatorView component. In this embodiment, the hash value (hashcode) of this view is used as the unique identifier of each view.
[0167] If, for example, clicking on component a within activityA jumps to page activity B, the update logic is as follows: First, the terminal device uses the page comparison module 103 to find out which Page activityA and activity B belong to. If not found, it is a new mapping relationship and is directly stored; second, if there is a mapping relationship between the current Page of activityA and the target page of activity B, that is, the mapping relationship has been stored, it is necessary to determine whether component a is a new user operation. Specifically, the component query module 106 can be used to determine whether the user's operation is new or has been stored.
[0168] The page jump update module 105 is used to store the page jump path, that is, the first mapping relationship. The storage form of the page jump diagram is as follows Figure 8a As shown, each activity contains one or more pages, such as page0 to pageN. Each page has one or more operations (TransOperate) that can jump to another page. Each operation records the component that responds to the operation and the operation method. For example, the operation path TransOperate list List1 from one page in activity C to another activity D includes m operations, where m is greater than or equal to 1 and is a positive integer. Similarly, the operation path list from activity A to activity B is "List2 <transoperate>". Each page is tagged after feature extraction to establish a jump path, or "mapping relationship", from the page of one activity to the page of another activity. Among them, the page0 to pageN are page identifiers used to uniquely identify the page.
[0169] For example, the terminal device learns a user's operation process as follows. Figure 8b and Figure 8c As shown, the activity name of the current first page is com.huawei.huaweistore.DetailActivity, assumed to be named "activityA". The first page is Page A0. After the user clicks the return button in the upper left corner (temporarily named TransOperate1), the user enters the main page of the "Huawei Mall", as shown in Figure 8b The second page. This second page is Page B0, and the activity name corresponding to the second page is com.huawei.huaweistore.MainActivity, assumed to be named "activityB", which is different from the activity name of the first page. Then, it is determined that the first page Page A0 is different from the second page Page B0.
[0170] Among them, Page A0 is the first page identifier of the first page, and activityA is the first view name corresponding to the first page. Similarly, Page B0 is the second page identifier of the second page, and activity B is the second view name corresponding to the second page.
[0171] After the page monitoring module 101 recognizes this change, it inputs PageA0 and Page B0 into the page comparison module 103. The page comparison module 103 determines that these two pages are different pages based on the activity name and the view tree. Then, the page extraction module 104 extracts the page features of these two pages. For example, the page features of the two pages after extraction are "chat interface" and "make a call" respectively, and inputs the page features of these two pages into the page jump update module 105.
[0172] After receiving the input, the page jump update module 105 first searches for the storage named activityA in the database. If not found, then Figure 8c The page number is Page A0 under the activityA directory. That is, it is determined that the source page to be jumped to is Page A0 of activityA. Then continue to search in the database storage named activity B to see if Page B0 is stored. If not found, then determine or mark Page B0 under the activity B directory, and determine that the destination page to be jumped to is Page B0 of activity B. And the destination page is not stored in the database, nor is the mapping relationship from the source page to the destination page stored. Since the mapping relationship is not stored in the database, therefore, currently this mapping relationship is a new operation by the user, denoted as TransOperate1, and store this TransOperate1 into the list of jump paths, that is, List <transoperate>, thus completing the learning process of jumping from a page Page A0 in the activityA directory to Page B0 in another activityB.
[0173] Among them, the database can be a local database of the terminal device, a database sent by the cloud server to the terminal device, or a database in the cloud server. This embodiment does not limit this. The database records and stores relevant information of all or part of the pages included in at least one application APP, such as the view name of the page, the Tab page, the view tree, and the feature information, etc.
[0174] Similarly, from Figure 1 the learning process of jumping from "Step 3" to "Step 4" includes:
[0175] The page monitoring module 101 of the terminal device detects that the user clicks on "Mine" (temporarily naming this click operation as TransOperate2) through the data operation 102, and obtains Figure 1 the operation of "Step 4" as shown. The two pages before and after the click on "Mine" are respectively input into the page comparison module 103; the page comparison module 103 determines that the activity names of the two pages before and after this operation are the same, that is, the activity name is com.huawei.huaweistore.MainActivity, that is, activityA, but the Tab pages are different, so they still belong to different pages and need to be stored.
[0176] The page extraction module 104 tags these two pages and outputs them to the page jump update module 105. The page jump update module 105 searches for a page according to activity B and finds a Page B0 in the activity B directory. Then it compares Page B0 with the page of "Step 3" before clicking on "Mine" and finds that they are the same page. Therefore, it confirms that the source page to be jumped is Page B0 of activity B. Then it searches for whether PageB1 has been stored according to the name activity B after the click operation. If Page B1 is not found, it is necessary to store Page B1 under activity B and name it Page B1 in the activity B directory. Therefore, it confirms that the destination to be jumped is this Page B1. Since this mapping relationship is a new operation, this operation is also directly stored, that is, it can also be expressed as the jump path TransOperate2.
[0177] Similarly, from Figure 1 The learning process of "Step 4" jumping to "Step 5" includes: when it is recognized that the user clicks on "Pending Receipt", this operation is assumed to be named TransOperate3. It is judged that the activity name of "Step 4" is different from the activity name of "Step 5". Assume that the activity name of the page obtained after clicking on "Pending Receipt" is "com.huawei.huaweistore.productActivity", which is different from the activity name of "Step 4", "com.huawei.huaweistore.MainActivity", and is named "activity C". Similarly, according to the aforementioned learning process, comparison is made and Page C0 under the activity C directory is stored. Thus, the storage form is as Figure 8d shown.
[0178] The method provided in this embodiment extracts features from different pages generated before and after the user's operation, tags them, learns and stores the user's operation habits, that is, after establishing a binding relationship between the page features of one page and the operation features of the user's operation, a mapping relationship is established with the destination page (the page to be jumped to). Thus, when the operation is performed again, the intention can be executed according to the user's operation habits, that is, the cross-page intention can be executed according to the user's operation habits on any page, without restarting the APP, without a configuration file, and without the cooperation of a third party, improving the page jump efficiency and user experience.
[0179] This embodiment also provides a page jump method for using the stored user operations to improve the page jump efficiency. Specifically, the method includes:
[0180] The page monitoring module 101 of the terminal device detects a second operation of the user on the third page, and in response to the second operation, displays the fourth page on the display screen. If the third page and the fourth page are different, it is checked whether there is already a stored mapping relationship from the third page to the fourth page. If so, it directly jumps from the third page to the fourth page according to the mapping relationship.
[0181] For example Figure 9a shown, when it is detected that the user clicks the second operation of "Back", assume that this second operation is "TransOperate 4", as from Figure 9a Click "Return" at the lower left corner of the third page shown to return to the fourth page. Then, the page jump module 105 obtains the third page, the fourth page, and the second operation TransOperate 4. Assume that the activity name corresponding to the third page is activityA, and the Page stored in the activityA directory is Page A0. Search all the stored Pages according to actrivityA to see if PageA0 is stored. If Page A0 is found, it is determined that this Page A0 is the same page as the third page, and thus the source page to be jumped to is PageA0 of activityA.
[0182] Similarly, it is determined that the destination page to be jumped to is Page B0 of activity B, and it is judged whether there is a mapping relationship from Page A0 to Page B0 stored, that is, it is judged whether TransOperate 4 is stored. If it is not stored, this mapping relationship, that is, the jump path TransOperate 4, is stored. As Figure 9b shown, only TransOperate 1 is stored in the local database of the terminal device, and TransOperate 4 is not stored. Therefore, this second operation TransOperate 4 is an operation newly added by the user, and this TransOperate4 is added to the List <transoperate>If TransOperate 4 has already been stored, directly jump the third page Page A0 to the fourth page Page B0 according to the mapping relationship of the TransOperate 4.
[0183] This method can construct and update each page of the terminal device by learning the user's habits, so as to realize querying the path and components of the label page of a specific application on any page.
[0184] Further, after establishing and storing the mapping relationship from the third page to the fourth page, the method further includes: the method steps for the terminal device to query and perform page jumps according to the stored mapping relationship. Specifically, as Figure 10 shown, the method includes:
[0185] The component query module 106 of the terminal device obtains the hash value of component a, and determines whether this hashcode is in the stored List by looking up the hashcode corresponding to component a in the stored page, so as to determine whether component a is newly added. Specifically, the search method includes: the component query module 106 respectively obtains the Decorviews of the stored PageA0 and the updated PageB0, and layer by layer searches for the components of the stored Page A0 according to the hierarchy and characteristics of component a in the updated Page B0. If a component with matching structure and hierarchy characteristics is found, then component a is a newly added component, and this component a is stored in the storage unit.
[0186] It should be noted that the above embodiments illustrate the page jump method in the same application APP. According to the above method, page jumps between different application APPs can also be learned and implemented. Among them, each application APP can contain multiple activities, such as "Huawei Mall", "Taobao", and "WeChat". Each application in the APP can contain multiple activities, and each activity contains at least one Page, and each Page can be identified by a label. Each of the said labels can correspond to the page function of a page. When performing page jumps between different application APPs, such as jumping from the current page (the product details page of Taobao) to the address book page of WeChat, the path query module 20 queries through the depth-first traversal of all stored mapping relationship graphs, and at the same time sets the maximum depth to balance efficiency, so as to realize page jumps between different application APPs.
[0187] In some embodiments, this embodiment also provides another page jump method, as Figure 11a shown, this method includes:
[0188] 601: When receiving the first voice command issued by the user, obtain the third page displayed on the display screen;
[0189] 602: Determine a fourth page according to the first voice command, where the fourth page is a destination page that responds to the first voice command and provides services for the user.
[0190] 603: Check whether there is a jump path stored between the third page and the fourth page. The jump path includes N mapping relationships for jumping from the third page to the fourth page.
[0191] Among them, each of the N mapping relationships includes: the page feature of the current page, the page feature of the next page of the current page, and the operation feature of the operation from the current page to the next page. And after the page feature of the current page and the operation feature are bound, they have a mapping relationship with the page feature of the next page, N≥1 and N is a positive integer.
[0192] When N = 1, the current page is the third page, and the next page of the current page is the fourth page. The mapping relationship includes: the page feature of the third page, the operation feature of the second operation, and the page feature of the fourth page. The second operation is the operation for the user to enter the fourth page from the third page. The second operation includes but is not limited to clicking, swiping, tapping, dragging, etc.
[0193] Optionally, in one implementation, check whether the jump path is stored according to the method of graph traversal. For example, search through depth - first traversal of graph theory, and set the maximum depth to balance efficiency.
[0194] 604: If so, jump from the third page to the fourth page according to the jump path.
[0195] 605: If not, the jump fails, and an indication message of the jump failure is displayed.
[0196] For example, refer to Figure 11b , when the terminal device receives a voice command with the content "Share with my wife on WeChat", the page jump flowchart executed on the terminal device. This process starts from the details page Page1 of "Taobao" to check whether there is a mapping relationship from the current page to the next page for each step of the jump. If so, jump from the current page to the next page according to this mapping relationship. For example, if the terminal device has pre - learned and saved a series of operation processes from the WeChat details page to WeChat sharing, then when receiving the voice command issued by the user, according to the learned user operation process, after 8 jumps TransOperate (i.e., Step1 to Step8) from the first step, it reaches the destination page Page9, and each jump Step has gone through the foregoing embodiments Figure 4 and Figure 5 The learning and searching process shown, that is, during the jump from Page1 to Page9, at least 8 (N = 8) mapping relationships are learned and stored, corresponding to 9 different pages. The specific process of jumping from Page1 to Page9 in this embodiment will not be elaborated.
[0197] This method can automatically learn the user's habits of operating the APP, thereby constructing a page jump graph. At the same time, each page of the APP is labeled, and when using it, only the label needs to be queried, without restarting the APP, without a configuration file, and without the cooperation of a third party, saving manpower and improving the user experience.
[0198] Next, a device embodiment corresponding to the above method and this embodiment will be introduced. This embodiment provides a device for saving page features, and the structure of this device is as described above. Figure 3 As shown, this device includes: a processing module 10, a path query module 20, and a storage medium 30. Among them, the processing module 10 includes: a page monitoring module 101, a data operation 102, a page comparison module 103, a page extraction module 104, a page jump update module 105, and a component query module 106.
[0199] Among them, the storage medium 30 can be at least one storage unit.
[0200] The functions and roles of the above-mentioned various modules can be seen in the description of Table 1 above.
[0201] A possible implementation manner is that the page monitoring module 101 is used to receive the user's first operation on the first page of the display screen; the page jump update module 105 displays a second page on the display screen in response to the first operation, and the second page is different from the first page. The storage unit is used to save the first mapping relationship, and the first mapping relationship includes: the page features of the first page, the page features of the second page, and the operation features of the first operation, and after the page features of the first page and the operation features of the first operation are bound, they have a mapping relationship with the page features of the second page.
[0202] Optionally, in another possible implementation manner, the page comparison module 103 is used to compare whether the first page and the second page are the same. Further, the first page and the second page being different includes:
[0203] The first view name of the first page is different from the second view name of the second page;
[0204] Alternatively, the first view name and the second view name are the same, both the directory of the first view name and the second view name contain tab pages, and the first tab page in the directory of the first view name is different from the second tab page in the directory of the second view name, and the second tab page is the page after performing the first operation.
[0205] Wherein, the tab page is a Tab page, and each activity may include one or more Tab pages.
[0206] Optionally, in another possible implementation manner, the page comparison module 103 is further configured to, when the first view name of the first page is the same as the second view name of the second page, and at least one of the directories of the first view name and the second view name does not contain a tab page, obtain the view trees of the first page and the second page, and compare the similarity between the view tree of the first page and the view tree of the second page; and when the similarity does not exceed the threshold, determine that the first page and the second page are different.
[0207] In addition, if the similarity between the view trees of the first page and the second page exceeds the threshold, it is determined that the two pages are the same.
[0208] Optionally, in another possible implementation manner, the component query module 106 is configured to obtain the first view name and the first page identifier corresponding to the first page, and check in the database whether there is a page that matches both the first view name and the first page identifier; if not, establish the storage of the first view name, and the storage of the first view name includes at least one page under the directory of the first view name. The storage unit is further configured to save the storage of the first view name, and save the first page in the storage of the first view name.
[0209] The component query module 106 is further configured to, when it is found in the database that there is a page that matches both the first view name and the first page identifier, determine the matching page as the source page.
[0210] In addition, the component query module 106 is further configured to, when it is found in the database that there is a page that matches both the second view name and the second page identifier, determine the matching page as the destination page, and check in the database whether there is an operation feature from the source page to the destination page; the storage unit is further configured to store the operation feature of the first operation when the operation feature is not stored. For the specific judgment method, reference may be made to the method flow shown above, which will not be elaborated in this embodiment. Figure 5 Shown method flow, this embodiment will not be elaborated herein.
[0211] The component query module 106 is further configured to determine whether the operation features of the first operation are included in the M operation features when M operation features are stored in the database, where M≥1 and M is a positive integer; the storage unit is further configured to store the operation features of the first operation when the component query module determines that the operation features of the first operation are not included.
[0212] The page extraction module 104 is configured to extract the page features of the first page and the page features of the second page when the first page and the second page are different. And label each page. For example, the first page of activity A is labeled as Page A0, and the second page of activity B is labeled as Page B0.
[0213] In some embodiments, the present application further provides a page jump device, which can realize automatic page jump between different applications. Among them, the structure of the page jump device may be the same as or different from the structure shown in the foregoing Figure 3 figure, and this embodiment does not limit this.
[0214] This embodiment takes the structure of the page jump device as an example of being the same as the device structure shown in the foregoing Figure 3 figure. Specifically, the page monitoring module 101 is configured to, when receiving a first voice command issued by a user, obtain a third page displayed on a display screen, and determine a fourth page according to the first voice command, where the fourth page is a destination page that responds to the first voice command and provides services for the user. The path query module 20 is configured to find whether there is a jump path stored between the third page and the fourth page. If so, jump from the third page to the fourth page according to the jump path.
[0215] Each of the N mapping relationships includes: the page features of the current page, the page features of the next page of the current page, and the operation features of the operation from the current page to the next page. And there is a mapping relationship between the page features of the current page and the next page after the page features of the current page and the operation features are bound, where N≥1 and N is a positive integer. In addition, the operation features of the second operation can be implemented through the auxiliary function of the terminal device.
[0216] The above device can automatically learn the user's habits of operating the APP, thereby constructing a page jump diagram. At the same time, each page of the APP is labeled, and when using it, only the label needs to be queried, without restarting the APP, without a configuration file, and without the cooperation of a third party, saving manpower and improving the user experience.
[0217] In addition, this embodiment also provides a wireless communication system, which includes at least one terminal device and a network device. The network device can be a device such as a cloud server or a data center, and is used to provide a database to the terminal device.
[0218] The terminal device is the terminal device in the foregoing embodiment and is used to implement the foregoing Figures 4 to 11b method.
[0219] In addition, the structure of the device such as the cloud server or the data center can be the same as or different from the structure of the terminal device shown in the foregoing Figure 2 or Figure 12 This embodiment does not limit this. It should be understood that other devices, such as switches, etc., can also be included in the above wireless communication system.
[0220] This application embodiment also provides a computer-readable storage medium, in which instructions, data, etc. are stored. When it runs on a computer, the computer is enabled to execute the methods in the above various embodiments.
[0221] This application embodiment also provides a computer program product containing instructions. When it runs on a computer, the computer is enabled to execute the methods in the above aspects. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
[0222] In addition, the steps of the methods or algorithms described in the embodiments of this application can be directly embedded in hardware, software units executed by a processor, or a combination of the two. The software units can be stored in a RAM, flash memory, ROM, EPROM, EEPROM, register, hard disk, removable disk, CD-ROM, or any other form of storage medium in the art.
[0223] Exemplarily, the storage medium can be connected to the processor so that the processor can read information from the storage medium and can write information to the storage medium. Optionally, the storage medium can also be integrated into the processor. Optionally, the processor and the storage medium can also be provided in different components of the terminal device.
[0224] This application embodiment also provides a chip system, Figure 12 which is a schematic structural diagram of the chip system. The chip system includes a processor 1201, which is used to support the above device to implement the functions involved in the above aspects. For example, receive a first operation of a user on a first page of a display screen; display a second page on the display screen in response to the first operation, where the second page is different from the first page; and save a first mapping relationship, etc.
[0225] In a possible design, the chip system further includes a memory 1202 for storing computer instructions 1203 and data necessary for the saving device for page features and the page jump device. The chip system may be composed of chips or may include chips and other discrete devices.
[0226] In addition, the chip system further includes at least one interface circuit for connecting internal and external devices to realize data transmission between the inside of the chip system and external devices such as external sensors.
[0227] Furthermore, in the description of the present application, unless otherwise specified, "a plurality of" means two or more than two. In addition, for the convenience of clearly describing the technical solutions of the embodiments of the present application, in the embodiments of the present application, terms such as "first" and "second" are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the terms such as "first" and "second" do not limit the quantity and execution order, and the terms such as "first" and "second" do not necessarily limit to be different.
[0228] The above-described embodiments of the present application do not constitute a limitation on the protection scope of the present application.< / transoperate> < / transoperate> < / transoperate>
Claims
1. A method for saving page features, characterized in that, The method includes: Receiving a first operation of a user on a first page of a display screen; Displaying a second page on the display screen in response to the first operation, where the second page is different from the first page; Saving a first mapping relationship, where the first mapping relationship includes: page features of the first page, page features of the second page, and operation features of the first operation, and there is a mapping relationship between the combined page features of the first page and the operation features and the page features of the second page; The difference between the first page and the second page includes: when the first view name of the first page and the second view name of the second page are the same, and at least one of the directories of the first view name and the second view name does not include a tab page, obtaining the observed view trees of the first page and the second page; comparing the similarity between the view tree of the first page and the view tree of the second page, and if the similarity does not exceed a threshold, determining that the first page and the second page are different.
2. The method according to claim 1, characterized in that, The difference between the first page and the second page includes: The first view name of the first page is different from the second view name of the second page; Or, The first view name and the second view name are the same, both directories of the first view name and the second view name include at least one tab page, and the first tab page in the directory of the first view name is different from the second tab page in the directory of the second view name, where the second tab page is the page after the first operation is executed.
3. The method according to claim 1 or 2, characterized in that, Before saving the first mapping relationship, it further includes: Obtaining the first view name and the first page identifier corresponding to the first page; Searching in a database to find if there is a page that matches both the first view name and the first page identifier; If not, establishing a storage for the first view name and saving the first page in the storage of the first view name.
4. The method according to claim 3, characterized in that, The method further includes: If so, determining the page that matches both the first view name and the first page identifier as the source page.
5. The method according to claim 4, characterized in that, It further includes: Obtaining the second view name and the second page identifier corresponding to the second page; Searching in a database to find if there is a page that matches both the second view name and the second page identifier; If not, establishing a storage for the second view name and saving the second page in the storage of the second view name.
6. The method according to claim 5, characterized in that, It further includes: If so, determining the page that matches both the second view name and the second page identifier as the destination page, Searching in the database to find if there is an operation feature from the source page to the destination page, and if not stored, storing the operation feature of the first operation.
7. The method according to claim 6, characterized in that, It further includes: If there are M operation features stored in the database and the M operation features do not include the operation feature of the first operation, storing the operation feature of the first operation, where M≥1 and M is a positive integer.
8. A page jump method, characterized in that, The method includes: When receiving a first voice command issued by a user, obtaining a third page displayed on the display screen; Determine a fourth page according to the first voice command, where the fourth page is a destination page that responds to the first voice command and provides services for the user; Check whether there is a jump path stored between the third page and the fourth page. The jump path includes N mapping relationships from the third page to the fourth page. Each of the N mapping relationships includes: the page feature of the current page, the page feature of the next page of the current page, and the operation feature of the operation from the current page to the next page. And after the page feature of the current page and the operation feature are bound, they have a mapping relationship with the page feature of the next page, N≥1 and N is a positive integer; If so, jump from the third page to the fourth page according to the jump path; The N mapping relationships from the third page to the fourth page are the mapping relationships between the third page and the fourth page saved when the fourth page is displayed after receiving the user's first operation on the third page of the display screen and it is determined that the fourth page is different from the third page; The third page is different from the fourth page, including: when the first view name of the third page and the second view name of the fourth page are the same, and at least one of the directories of the first view name and the second view name does not include a tab page, obtain the view trees of the third page and the fourth page; Compare the similarity of the view tree of the third page and the view tree of the fourth page. If the similarity does not exceed the threshold, it is determined that the third page is different from the fourth page.
9. A device for saving page features, characterized in that, Include: A page monitoring module for receiving the user's first operation on the first page of the display screen; A page jump update module that displays a second page on the display screen in response to the first operation, and the second page is different from the first page; A storage unit for saving a first mapping relationship, where the first mapping relationship includes: the page feature of the first page, the page feature of the second page, and the operation feature of the first operation. And after the page feature of the first page and the operation feature of the first operation are bound, they have a mapping relationship with the page feature of the second page; A page comparison module for obtaining the view trees of the first page and the second page when the first view name of the first page and the second view name of the second page are the same, and at least one of the directories of the first view name and the second view name does not include a tab page, and comparing the similarity of the view tree of the first page and the view tree of the second page; And when the similarity does not exceed the threshold, determine that the first page is different from the second page.
10. The device according to claim 9, wherein The page comparison module is used to compare whether the first page and the second page are the same; Wherein the first page is different from the second page, including: The first view name of the first page is different from the second view name of the second page; Alternatively, the first view name and the second view name are the same, both the directories of the first view name and the second view name contain tab pages, and the first tab page in the directory of the first view name is different from the second tab page in the directory of the second view name, and the second tab page is the page after the first operation is executed.
11. The device according to claim 9 or 10, wherein It further includes a component query module. The component query module is configured to obtain the first view name and the first page identifier corresponding to the first page, and check in the database whether there is a page that matches both the first view name and the first page identifier; if not, establish the storage of the first view name. The storage unit is further configured to save the first page in the storage of the first view name.
12. The device according to claim 11, wherein The component query module is further configured to, when it is found in the database that there is a page that matches both the first view name and the first page identifier, determine the matching page as the source page.
13. The device according to claim 12, wherein The component query module is further configured to obtain the second view name and the second page identifier corresponding to the second page; check in the database whether there is a page that matches both the second view name and the second page identifier; if not, establish the storage of the second view name. The storage unit is further configured to save the second page in the storage of the second view name.
14. The device according to claim 13, wherein The component query module is further configured to, when it is found in the database that there is a page that matches both the second view name and the second page identifier, determine the matching page as the destination page, and check in the database whether there is an operation feature from the source page to the destination page. The storage unit is further configured to store the operation feature of the first operation when the operation feature is not stored.
15. The device according to claim 14, wherein The component query module is further configured to, when there are M operation features stored in the database, determine whether the M operation features include the operation feature of the first operation, where M≥1 and M is a positive integer. The storage unit is further configured to store the operation feature of the first operation when the component query module determines that the operation feature of the first operation is not included.
16. A page jump device, wherein The device includes: A page monitoring module, configured to, when receiving a first voice command issued by a user, obtain a third page displayed on a display screen, and determine a fourth page according to the first voice command, where the fourth page is a destination page that responds to the first voice command and provides services for the user. A path query module, configured to check whether there is a jump path stored between the third page and the fourth page, where the jump path includes N mapping relationships from the third page to the fourth page, and if so, jump from the third page to the fourth page according to the jump path. Each of the N mapping relationships includes: the page feature of the current page, the page feature of the next page of the current page, and the operation feature of the operation from the current page to the next page, and there is a mapping relationship between the page feature of the current page and the next page feature after the page feature of the current page and the operation feature are bound, where N≥1 and N is a positive integer; The N mapping relationships for jumping from the third page to the fourth page are the mapping relationships between the third page and the fourth page saved when the fourth page is displayed after receiving the user's first operation on the third page of the display screen and it is determined that the fourth page is different from the third page; the difference between the third page and the fourth page includes: when the first view name of the third page and the second view name of the fourth page are the same, and at least one of the directories of the first view name and the second view name does not contain a tab page, obtain the view trees of the third page and the fourth page; compare the similarity between the view tree of the third page and the view tree of the fourth page, if the similarity does not exceed the threshold, determine that the third page and the fourth page are different.
17. A terminal device, wherein including: at least one processor and a memory, the memory is used to store computer program instructions; the at least one processor is used to execute the instructions to implement the method according to any one of claims 1 to 7, or claim 8.
18. A computer-readable storage medium, wherein Computer program instructions are stored in the computer-readable storage medium, when the computer program instructions are run, the method according to any one of claims 1 to 7, or claim 8 is implemented.
Citation Information
Patent Citations
Page skipping method and terminal device
CN109063082A