CN113225423B - Contact person recommendation method and electronic device - Google Patents

Contact person recommendation method and electronic device Download PDF

Info

Publication number
CN113225423B
CN113225423B CN202110188893.7A CN202110188893A CN113225423B CN 113225423 B CN113225423 B CN 113225423B CN 202110188893 A CN202110188893 A CN 202110188893A CN 113225423 B CN113225423 B CN 113225423B
Authority
CN
China
Prior art keywords
user
call
contacts
geographic
contact
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110188893.7A
Other languages
Chinese (zh)
Other versions
CN113225423A (en
Inventor
于超
梁努希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202110188893.7A priority Critical patent/CN113225423B/en
Publication of CN113225423A publication Critical patent/CN113225423A/en
Application granted granted Critical
Publication of CN113225423B publication Critical patent/CN113225423B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/27453Directories allowing storage of additional subscriber data, e.g. metadata
    • H04M1/2746Sorting, e.g. according to history or frequency of use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/27453Directories allowing storage of additional subscriber data, e.g. metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

The contact person recommending method and the electronic equipment can help a user to quickly position a contact person to make a call, simplify an operation process of making a call between the user and the contact person, and therefore efficiency of searching the contact person by the user and user experience are improved. The method comprises the following steps: responding to a first operation input by a user, and acquiring the current geographic position of the user by the electronic equipment; the electronic equipment determines X contacts related to the geographic position, wherein the X contacts comprise contacts of which the user has call records in a first geographic area, and the geographic position belongs to the first geographic area; the electronic equipment displays a contact person recommendation result and a recommendation reason of the contact person recommendation result, wherein the contact person recommendation result comprises a shortcut of each contact person in the X contact persons; and if the shortcut of the first contact person selected by the user is detected, the electronic equipment displays a calling interface for calling the first contact person.

Description

Contact person recommendation method and electronic device
Technical Field
The application relates to the technical field of terminals, in particular to a contact person recommendation method and electronic equipment.
Background
With the rapid development of communication technology, the communication mode that a user uses electronic equipment such as a mobile phone to make a call with a contact person is more and more common, and the number of the contact persons stored in the electronic equipment such as the mobile phone by the user can reach thousands of contact persons.
However, currently, the way of displaying the calling number by the mobile phone is single when the user makes a call. For example, the recent call list may be displayed by the mobile phone after the user opens the call application in the mobile phone. The user can search the required telephone numbers or contact persons one by one in the recent call list, and then call the corresponding telephone numbers. Therefore, the time required for searching for the contact before the user makes a call is long, the searching efficiency is low, and the user experience is not high.
Disclosure of Invention
The application provides a contact person recommendation method and electronic equipment, which can help a user to quickly locate a contact person to make a call and simplify the operation flow of making a call between the user and the contact person, so that the efficiency of searching the contact person by the user and the user experience are improved.
In order to achieve the purpose, the technical scheme is as follows:
in a first aspect, the present application provides a method for recommending a contact, including: in response to a first operation input by a user, the electronic equipment can acquire the current geographic position of the user; furthermore, the electronic device can determine X (X is more than or equal to 1) contacts associated with the geographic location, wherein the X contacts comprise contacts of which the user has call records in a first geographic area (the geographic location belongs to the first geographic area); the electronic equipment can display a contact person recommendation result and a recommendation reason of the contact person recommendation result, wherein the contact person recommendation result comprises a shortcut of each contact person in the X contact persons; if the shortcut of the first contact person selected by the user is detected, the electronic equipment can display a calling interface for calling the first contact person, and the first contact person is one of the X contact persons.
Therefore, before the user makes a call, the electronic equipment can recommend the contact person which the user has contacted nearby the current position to the user, and the user can conveniently and quickly find the contact person who wants to make the call. The user does not need to manually search the corresponding contact in the lengthy call record list or the contact list, so that the operation flow of the user in the call with the contact is simplified, and the use experience of the user is improved.
In a possible implementation manner, the first operation may be an operation of opening a call list for a user; then, in response to the first operation input by the user, the electronic device may further display a call list interface, where the call list interface includes one or more call records.
In one possible implementation manner, the displaying, by the electronic device, the contact recommendation result specifically includes: the electronic device may display the contact recommendation result in the call list interface.
For example, the electronic device may rearrange the call records in the call list interface, and display the call records of the X contacts at the top in the call list interface, so as to facilitate the user to search for a selection.
Or, the call list interface may include a recommendation button; at this time, the electronic device displays the contact recommendation result, which specifically includes: in response to an operation of the user selecting the recommendation button, the electronic device may display a contact recommendation result.
In a possible implementation manner, before the electronic device acquires the geographic location where the user is currently located, the method further includes: the method comprises the steps that the electronic equipment obtains N call records of a user, wherein each call record comprises a historical geographic position of the user during call, and N is larger than 1; furthermore, the electronic device may perform cluster analysis on the historical geographic locations in the N call records by using a preset clustering algorithm to obtain M geographic areas, where each geographic area includes one or more historical geographic locations.
Then, when determining the X contacts associated with the geographic location, the electronic device specifically includes: the electronic equipment determines a first geographic area containing the current geographic position in the M geographic areas; furthermore, the electronic device may determine one or more contacts of which the user has call records in the first geographic area as the X contacts recommended this time.
In a possible implementation manner, the recommended reason may be: recommendations based on geographic location.
In one possible implementation manner, in response to a first operation input by a user, the electronic device may further obtain current time information; at this time, the electronic device determines X contacts associated with the current geographic location, which specifically includes: the electronic device determines X contacts associated with both the geographic location and the time information.
For example, when determining X contacts associated with both the geographic location and the time information, the electronic device specifically includes: the electronic device determines M1(M1 ≧ 1) contacts associated with the current geographic location, the M1 contacts including contacts for which the user has call records in the first geographic area; the electronic equipment determines M2(M2 is more than or equal to 1) contacts related to the current time information, wherein the M2 contacts comprise contacts of which the call records are recorded by the user in a first time period (the current time information belongs to the first time period); further, the electronic device may determine the intersection or union of the M1 contacts and the M2 contacts as the X contacts recommended to the user this time.
In a possible implementation manner, the recommended reason may be: recommendations based on geographic location and time information.
In one possible implementation, after the electronic device determines X contacts associated with the current geographic location, the method further includes: the electronic equipment can sort the X contacts according to the call records between the user and the X contacts; for example, the electronic device may sort the X contacts according to the information about the call frequency, the call duration, and the like recorded in the call record. At this time, the contact recommendation result displayed by the electronic device is the shortcut of each contact in the X contacts after being sorted.
In a second aspect, the present application provides an electronic device comprising: a touchscreen, one or more processors, one or more memories, and one or more computer programs; the processor is coupled with both the touch screen and the memory, the one or more computer programs are stored in the memory, and when the electronic device runs, the processor executes the one or more computer programs stored in the memory, so that the electronic device executes the method for recommending the contact person in any item.
In a third aspect, the present application provides a computer storage medium comprising computer instructions that, when executed on an electronic device, cause the electronic device to perform the method for recommending contacts according to any one of the first aspect.
In a fourth aspect, the present application provides a computer program product, which when run on an electronic device, causes the electronic device to execute the method for recommending contacts according to any one of the first aspect.
It is to be understood that the electronic device according to the second aspect, the computer storage medium according to the third aspect, and the computer program product according to the fourth aspect are all configured to execute the corresponding method provided above, and therefore, the beneficial effects achieved by the electronic device can refer to the beneficial effects in the corresponding method provided above, and are not described herein again.
Drawings
Fig. 1 is a first schematic structural diagram of an electronic device according to an embodiment of the present disclosure;
fig. 2 is a schematic diagram illustrating an architecture of an operating system in an electronic device according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram of a call record table according to an embodiment of the present application;
fig. 4 is a schematic diagram of a clustering result of geographic clustering provided in an embodiment of the present application;
fig. 5 is a flowchart illustrating a method for recommending a contact according to an embodiment of the present application;
fig. 6 is a first scene schematic diagram of a method for recommending a contact according to an embodiment of the present application;
fig. 7 is a scene schematic diagram of a method for recommending contacts according to an embodiment of the present application;
fig. 8 is a third scenario schematic diagram of a method for recommending a contact according to an embodiment of the present application;
fig. 9 is a scene schematic diagram of a method for recommending a contact according to an embodiment of the present application;
fig. 10 is a scene schematic diagram of a method for recommending a contact according to an embodiment of the present application;
fig. 11 is a scene schematic diagram six of a method for recommending a contact according to an embodiment of the present application;
fig. 12 is a scene schematic diagram seven of a method for recommending a contact according to an embodiment of the present application;
fig. 13 is a scene schematic diagram eight of a method for recommending a contact according to an embodiment of the present application;
fig. 14 is a scene schematic diagram nine of a method for recommending a contact according to an embodiment of the present application;
fig. 15 is a scene schematic diagram ten of a method for recommending a contact according to an embodiment of the present application;
fig. 16 is an eleventh schematic view of a scenario of a method for recommending a contact according to an embodiment of the present application;
fig. 17 is a second schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 18 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Embodiments of the present embodiment will be described in detail below with reference to the accompanying drawings.
For example, the method for recommending a contact provided in the embodiment of the present application may be applied to electronic devices such as a mobile phone, a tablet computer, a notebook computer, an ultra-mobile personal computer (UMPC), a handheld computer, a netbook, a Personal Digital Assistant (PDA), a wearable electronic device, and a virtual reality device, and the embodiment of the present application does not limit the present application in any way.
Fig. 1 shows a schematic structural diagram of an electronic device 100.
The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a Universal Serial Bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a camera 193, a display screen 194, and the like.
It is to be understood that the illustrated structure of the embodiment of the present invention does not specifically limit the electronic device 100. In other embodiments of the present application, electronic device 100 may include more or fewer components than shown, or some components may be combined, some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units, such as: the processor 110 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors.
A memory may also be provided in processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that have just been used or recycled by the processor 110. If the processor 110 needs to use the instruction or data again, it can be called directly from the memory. Avoiding repeated accesses reduces the latency of the processor 110, thereby increasing the efficiency of the system.
In some embodiments, processor 110 may include one or more interfaces. The interface may include an integrated circuit (I2C) interface, an integrated circuit built-in audio (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.
It should be understood that the connection relationship between the modules according to the embodiment of the present invention is only illustrative, and is not limited to the structure of the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection manners or a combination of multiple interface connection manners in the above embodiments.
The charging management module 140 is configured to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive a wireless charging input through a wireless charging coil of the electronic device 100. The charging management module 140 may also supply power to the electronic device through the power management module 141 while charging the battery 142.
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 may receive input from the battery 142 and/or the charge management module 140 to power the processor 110, the internal memory 121, the display 194, the camera 193, the wireless communication module 160, and the like. In some other embodiments, the power management module 141 may also be disposed in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be disposed in the same device.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution including 2G/3G/4G/5G wireless communication applied to the electronic device 100. The mobile communication module 150 may include one or more filters, switches, power amplifiers, Low Noise Amplifiers (LNAs), and the like. The mobile communication module 150 may receive the electromagnetic wave from the antenna 1, filter, amplify, etc. the received electromagnetic wave, and transmit the electromagnetic wave to the modem processor for demodulation. The mobile communication module 150 may also amplify the signal modulated by the modem processor, and convert the signal into electromagnetic wave through the antenna 1 to radiate the electromagnetic wave. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the same device as at least some of the modules of the processor 110.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then passes the demodulated low frequency baseband signal to a baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be provided in the same device as the mobile communication module 150 or other functional modules, independent of the processor 110.
The wireless communication module 160 may provide a solution for wireless communication applied to the electronic device 100, including Wireless Local Area Networks (WLANs) (e.g., wireless fidelity (Wi-Fi) networks), Bluetooth (BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), Infrared (IR), and the like. The wireless communication module 160 may be one or more devices that integrate one or more communication processing modules. The wireless communication module 160 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, perform frequency modulation and amplification on the signal, and convert the signal into electromagnetic waves through the antenna 2 to radiate the electromagnetic waves.
In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150 and antenna 2 is coupled to wireless communication module 160 so that electronic device 100 can communicate with networks and other devices through wireless communication techniques. The wireless communication technology may include global system for mobile communications (GSM), General Packet Radio Service (GPRS), code division multiple access (code division multiple access, CDMA), Wideband Code Division Multiple Access (WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), Long Term Evolution (LTE), LTE, BT, GNSS, WLAN, NFC, FM, and/or IR technologies, etc. The GNSS may include a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and/or a Satellite Based Augmentation System (SBAS).
The electronic device 100 implements display functions via the GPU, the display screen 194, and the application processor. The GPU is a microprocessor for image processing, and is connected to the display screen 194 and an application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
The display screen 194 is used to display images, video, and the like. The display screen 194 includes a display panel. The display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeld, a quantum dot light-emitting diode (QLED), and the like. In some embodiments, the electronic device 100 may include 1 or N display screens 194, with N being a positive integer greater than 1.
The electronic device 100 may implement a shooting function through the ISP, the camera 193, the video codec, the GPU, the display 194, the application processor, and the like.
The ISP is used to process the data fed back by the camera 193. For example, when a photo is taken, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converting into an image visible to naked eyes. The ISP can also carry out algorithm optimization on noise, brightness and skin color of the image. The ISP can also optimize parameters such as exposure, color temperature and the like of a shooting scene. In some embodiments, the ISP may be provided in camera 193.
The camera 193 is used to capture still images or video. In some embodiments, the handset 100 may include 1 or N cameras, N being a positive integer greater than 1. The camera 193 may be a front camera or a rear camera.
The digital signal processor is used for processing digital signals, and can process digital image signals and other digital signals. For example, when the electronic device 100 selects a frequency bin, the digital signal processor is used to perform fourier transform or the like on the frequency bin energy.
Video codecs are used to compress or decompress digital video. The electronic device 100 may support one or more video codecs. In this way, the electronic device 100 may play or record video in a variety of encoding formats, such as: moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, and the like.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to extend the storage capability of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music, video, etc. are saved in the external memory card.
Internal memory 121 may be used to store one or more computer programs, including instructions. The processor 110 may execute the above-mentioned instructions stored in the internal memory 121, so as to enable the electronic device 100 to execute the method for intelligent contact recommendation provided in some embodiments of the present application, and various functional applications and data processing. The internal memory 121 may include a program storage area and a data storage area. Wherein, the storage program area can store an operating system; the storage area may also store one or more application programs (e.g., gallery, contacts, etc.), etc. The storage data area may store data (such as photos, contacts, etc.) created during use of the electronic device 101, and the like. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a nonvolatile memory, such as one or more magnetic disk storage devices, flash memory devices, Universal Flash Storage (UFS), and the like. In other embodiments, the processor 110 may cause the electronic device 100 to execute the contact recommendation method provided in the embodiments of the present application, and various functional applications and data processing by executing instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
The electronic device 100 may implement audio functions via the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D, and the application processor. Such as music playing, recording, etc.
The audio module 170 is used to convert digital audio information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be disposed in the processor 110, or some functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also called a "horn", is used to convert the audio electrical signal into an acoustic signal. The electronic apparatus 100 can listen to music through the speaker 170A or listen to a hands-free call.
The receiver 170B, also called "earpiece", is used to convert the electrical audio signal into an acoustic signal. When the electronic apparatus 100 receives a call or voice information, it can receive voice by placing the receiver 170B close to the ear of the person.
The microphone 170C, also referred to as a "microphone," is used to convert sound signals into electrical signals. When making a call or transmitting voice information, the user can input a voice signal to the microphone 170C by speaking the user's mouth near the microphone 170C. The electronic device 100 may be provided with one or more microphones 170C. In other embodiments, the electronic device 100 may be provided with two microphones 170C to achieve a noise reduction function in addition to collecting sound signals. In other embodiments, the electronic device 100 may further include three, four or more microphones 170C to collect sound signals, reduce noise, identify sound sources, perform directional recording, and so on.
The headphone interface 170D is used to connect a wired headphone. The headset interface 170D may be the USB interface 130, or may be a 3.5mm open mobile electronic device platform (OMTP) standard interface, a cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The sensor module 180 may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, and the like, which is not limited in this embodiment.
Of course, the electronic device 100 provided in this embodiment of the present application may further include one or more devices such as a key, a motor, an indicator, and a SIM card interface, which is not limited in this embodiment of the present application.
The software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes an Android system with a layered architecture as an example, and exemplarily illustrates a software structure of the electronic device 100.
Fig. 2 is a block diagram of a software structure of the electronic device 100 according to the embodiment of the present application.
The layered architecture divides the software into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface. In some embodiments, the Android system is divided into four layers, an application layer, an application framework layer, an Android runtime (Android runtime) and system library, and a kernel layer from top to bottom.
The application layer may include a series of application packages.
As shown in fig. 2, the application package may include Applications (APPs) such as call, contact, camera, gallery, calendar, map, navigation, bluetooth, music, video, short message, etc. The call APP (also referred to as a dialing APP or a phone APP) and the contact APP (also referred to as an address book APP or a phone book APP) may be preset in the factory of the mobile phone, or may be a third-party application for call provided in the application market.
The application framework layer provides an Application Programming Interface (API) and a programming framework for the application program of the application layer. The application framework layer includes a number of predefined functions.
As shown in fig. 2, the application framework layer may include a phone service and a contact service.
Wherein the call service may be used to provide a call function of the electronic device 100. For example, the call service may manage the call state (e.g., initiate, connect, hang up, etc.) of the call APP. If the user is detected to use the conversation APP to carry out incoming call or outgoing call operation with a certain telephone number, the conversation service can monitor the conversation state of the conversation. If the dialing failure event is detected, the call service may further obtain the reason of the dialing failure sent by the base station, such as a network failure, a rejection from the other party, a timeout not being connected, or a busy tone of the other party.
Each time it is detected that the user dials or answers a call using the call APP, as shown in fig. 3, the call service may record basic information of the call record in each field of the call record table 301, for example, an ID of the call record (the value of the ID may increase sequentially along with the number of the call records), a contact (or a phone number) of the call, incoming/outgoing time, date, time, call duration, and the like of the call. In the embodiment of the present application, the call service may further record, in the call record table 301, location information where the user is located at each call, for example, longitude and latitude coordinates of the electronic device 100. In this way, the electronic device 100 can query the geographical location of each time the user talks to each contact through the call record table 301.
The contact service can be used for managing the address book in the contact APP, for example, creating a new contact in the address book, deleting the contact or modifying various information in the contact, and the like. After detecting the operation of creating the contact by the user, the contact APP can call the contact service to store one or more items of information such as the name, the telephone number and the address of the contact input by the user. Further, the contact service may create a new contact in a contact database (contact.db), and add the one or more items of information obtained to the newly created contact.
In some embodiments of the present application, as also shown in fig. 2, a clustering algorithm module may also be included in the application framework layer. The clustering algorithm module may periodically obtain call records (e.g., the call record table 301) of the user in the last period from the call service. Further, the clustering algorithm module may perform a geographical clustering analysis on the location information recorded in each call record in the call record table 301 to obtain a clustering result based on a geographical location. For example, as shown in fig. 4, through geo-clustering analysis, the clustering algorithm module may partition N (N > 1) location information in the call record table 301 into one or more geographical clusters (e.g., geographical cluster 401 and geographical cluster 402). Each geographic cluster covers an area of a geographic area, and each geographic cluster may also be referred to as a geographic area. The similarity of the position information in the same geographical cluster is as large as possible, and the difference of the position information which is not in the same geographical cluster is also as large as possible. For example, each geographic location in the geographic cluster 401 belongs to the west ampere region, and each geographic location in the geographic cluster 402 belongs to the beijing region. Each geographical location (i.e., location information) in fig. 4 corresponds to a call log in the call log table 301.
Then, when it is detected that the user opens the call APP (or the contact APP), which indicates that the user has an intention to make a call at this time, the call service (or the contact service) may obtain the location information (for example, location a) of the current user, and further request the clustering algorithm module to determine one or more contacts associated with the location a according to the geographic location-based clustering result. The one or more contacts are contacts that the user has contacted in the vicinity of location a. Furthermore, the electronic device may display one or more contacts determined by the clustering algorithm module as recommendation results in the call APP (or the contact APP).
Therefore, before the user makes a call, the electronic equipment can recommend the contact person which the user has contacted nearby the current position to the user, and the user can conveniently and quickly find the contact person who wants to make the call. The user does not need to manually search the corresponding contact in the lengthy call record list or the contact list, so that the operation flow of the user in the call with the contact is simplified, and the use experience of the user is improved.
Of course, the application framework layer may also include a window manager, content provider, view system, resource manager, notification manager, and the like.
Wherein, the window manager is used for managing the window program. The window manager can obtain the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like. The content provider is used to store and retrieve data and make it accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc. The view system includes visual controls such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. The display interface may be composed of one or more views. For example, the display interface including the short message notification icon may include a view for displaying text and a view for displaying pictures. The resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and the like. The notification manager enables the application to display notification information in the status bar, can be used to convey notification-type messages, can disappear automatically after a short dwell, and does not require user interaction. Such as a notification manager used to inform download completion, message alerts, etc. The notification manager may also be a notification that appears in the form of a chart or scroll bar text at the top status bar of the system, such as a notification of a background running application, or a notification that appears on the screen in the form of a dialog window. For example, prompting text information in the status bar, sounding a prompt tone, vibrating the electronic device, flashing an indicator light, etc.
The Android Runtime comprises a core library and a virtual machine. The Android runtime is responsible for scheduling and managing an Android system.
The core library comprises two parts: one part is a function which needs to be called by java language, and the other part is a core library of android.
The application layer and the application framework layer run in a virtual machine. And executing java files of the application program layer and the application program framework layer into a binary file by the virtual machine. The virtual machine is used for performing the functions of object life cycle management, stack management, thread management, safety and exception management, garbage collection and the like.
The system library may include a plurality of functional modules. For example: surface managers (surface managers), Media Libraries (Media Libraries), three-dimensional graphics processing Libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), and the like.
The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
The media library supports a variety of commonly used audio, video format playback and recording, and still image files, among others. The media library may support a variety of audio-video encoding formats, such as MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, and the like.
The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like.
The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The kernel layer at least comprises a display driver, a camera driver, an audio driver, a sensor driver and the like, and the embodiment of the application does not limit the display driver, the camera driver, the audio driver, the sensor driver and the like.
A method for recommending a contact provided by an embodiment of the present application will be described in detail below with reference to the accompanying drawings by taking a mobile phone as an example of an electronic device.
As shown in fig. 5, a method for recommending a contact provided in an embodiment of the present application includes the following steps S501 to S505.
S501, responding to the operation of opening the conversation APP by the user, and acquiring the current position information of the user by the mobile phone.
Generally, when a user uses a mobile phone to make a call to a certain contact person, a call APP in the mobile phone needs to be opened to search for the contact person. When the operation that the user opens the conversation APP is detected, the mobile phone can acquire the position information of the current user.
For example, the mobile phone may obtain the longitude and latitude coordinates of the current mobile phone through the GPS module, where the longitude and latitude coordinates are the location information of the current user. For another example, if the mobile phone accesses a Wi-Fi network of an Access Point (AP), since the IP address (or MAC address) of the AP is generally fixed and the location of the AP is not far from the location of the mobile phone, the mobile phone can query the location information of the AP by acquiring the IP address (or MAC address) of the AP, and then the mobile phone can use the location information of the AP as the location information of the current user. Similarly, the handset can also determine the location information of the current user by the IP address (or MAC address) of the current bluetooth connection. Or, the mobile phone may also request the base station to measure the location of the mobile phone, that is, the location information of the current user, by using the distance between the base station and the mobile phone.
For example, after detecting that the user opens the call APP, the mobile phone may display a call list interface 601 of the call APP as shown in fig. 6, in addition to acquiring the current location information of the user. The call list interface 601 includes one or more call records. The basic information of each call record is recorded in the call record table 301 shown in fig. 3 by the mobile phone.
Of course, the mobile phone may update the call log table 301 periodically. For example, it may be preset that a maximum of 100 call records can be stored in the call record table 301. Then, when the mobile phone generates the 101 st call record of the user, the basic information of the call record with the earliest recording time in the call record table 301 may be deleted. For another example, the call log table 301 may be configured to record call logs of users within the last month. Then, when the incoming or outgoing time of the call record in the call record table 301 exceeds one month, the mobile phone may delete the basic information of the call record.
In addition, each call record in the call list interface 601 may also be used as a shortcut for calling a contact. The user can select a corresponding call record in the call list interface 601 to perform a dialing operation. As also shown in fig. 6, if the cell phone detects that the user clicks call record 1 in the call list interface 601, the cell phone may automatically call the contact Mike according to the phone number of Mike recorded in call record 1.
In some embodiments, the mobile phone may also respond to other operations of the user to obtain the current location information of the user. For example, the mobile phone may display the call list interface 601 after detecting that the user opens the call APP. Furthermore, if it is detected that the user performs a preset gesture in the call list interface 601, for example, a pressing operation, a tapping operation, or a sliding operation of a preset sliding track, the mobile phone may respond to the gesture to obtain the current location information of the user, which is not limited in this embodiment of the application.
S502, the mobile phone determines X contacts related to the current position information based on a preset clustering model, wherein X is larger than or equal to 1.
Wherein, the X linkmen are: one or more contacts in a call log (e.g., call log table 301 described above) that the user has contacted in the vicinity of the location information described above.
For example, a geographical clustering model, such as a K-Means clustering model, a DBSCAN (dense-based clustering of applications with noise) model, a BIRCH (balanced iterative reduction and clustering using hierarchical approach) model, a STING algorithm model, etc., may be set in advance in the mobile phone, and the present embodiment does not limit this.
As shown in fig. 7, the mobile phone can input the position information recorded in each call record in the call record table 301 into the geo-clustering model. The location information recorded in the plurality of call records may be the same or different. Taking longitude and latitude coordinates as an example of the location information, the geographic clustering model can perform geographic clustering analysis on all the longitude and latitude coordinates in the call record table 301 through a preset clustering algorithm, and divide a plurality of longitude and latitude coordinates with similar locations into a geographic cluster. As also shown in fig. 7, the handset can divide the plurality of longitude and latitude coordinates recorded in the call record table 301 into three geographic clusters, i.e., a geographic cluster 701-a geographic cluster 703, through cluster analysis. Wherein one latitude and longitude coordinate within each geographic cluster corresponds to one or more contacts. Taking the longitude and latitude coordinate point a in the geographic cluster 701 as an example, if the user has made a telephone call with the contacts Sam and Jack respectively at point a, point a corresponds to both contact Sam and contact Jack.
The mobile phone can count the contact list corresponding to each geographic cluster according to the information such as the number of calls, the call duration and the like between the user and each contact in the call record table 301. Taking the example of the geographic cluster 701, the geographic cluster 701 includes 4 longitude and latitude coordinates. The user has communicated with the contact Sam for 2 times at the longitude and latitude coordinate A, the user has communicated with the contact Sam for 1 time at the longitude and latitude coordinate B, the user has communicated with the contact Jack for 2 times at the longitude and latitude coordinate C, and the user has communicated with the contact Amy for 1 time at the longitude and latitude coordinate C. Then, according to the sequence of the number of calls from large to small, the mobile phone may determine that the contact list a corresponding to the geographic cluster 701 sequentially includes: contact Sam, contact Jack, and contact Amy.
Then, in step S502, after the mobile phone acquires the current location information of the user this time, the location information is taken as the longitude and latitude coordinate Z point for example, and the call service in the mobile phone can send the longitude and latitude coordinate of the Z point to the geographic clustering model, and request the geographic clustering model to determine the geographic cluster to which the Z point belongs. For example, as shown in fig. 8, if the latitude and longitude coordinate Z point belongs to the above geographic cluster 701, the handset may determine that the contact associated with the current location information (i.e., Z point) is: one or more contacts in the contact list a corresponding to the geographic cluster 701. Alternatively, the cell phone may determine the top X contacts in the contact list a as the contacts associated with the current location information (i.e., Z point). That is, before the user makes a call each time, the mobile phone can determine, based on the location of the user at that time, X contacts that the user frequently contacts in the vicinity of the location, where the X contacts are likely to be contacts that the user wishes to talk at this time.
S503, the mobile phone displays the shortcuts of the X contacts in the conversation APP.
For example, after the mobile phone determines X contacts associated with the current location information of the user, as shown in fig. 9, the mobile phone may display a recommendation notification 901 in a call list interface 601. The recommendation notification 901 may contain shortcuts of X contacts determined by the mobile phone in step S502. Because the contacts in the recommendation notification 901 are all contacts that the user frequently contacts at the current position, the user can quickly select the telephone number of the contact to be dialed by the recommendation notification 901, so that the operation flow of dialing the telephone between the user and the contact is simplified, and the efficiency of searching the contact by the user and the user experience are improved.
Or, after the mobile phone determines X contacts associated with the current location information of the user, as shown in fig. 10, the mobile phone may rearrange the call records in the call list interface 601, and display the call record 1001 closest to the X contacts at the top of the call list, so as to facilitate the user to search and select. In addition, as also shown in fig. 10, the cell phone may also mark the recommendation reason of the call record 1001 in the call list interface 601 as follows: and the friends contacted nearby present more intelligent conversation operation experience for the user.
Still alternatively, as shown in fig. 11 (a), the mobile phone may further set an intelligent recommendation menu 1101 in the call APP. If it is detected that the user opens the smart recommendation menu 1101, as shown in (b) of fig. 11, the mobile phone may display a smart recommendation interface 1102, where the smart recommendation interface 1102 includes shortcuts of X contacts determined by the mobile phone for the user in step S502. Taking the current position of the user as a field example, the mobile phone can prompt the user of a contact list 1103 contacted nearby the field in the intelligent recommendation interface 1102. For example, as shown in fig. 11 (b), the mobile phone can display contacts that the user has contacted near the field in order of the number of calls from high to low, and display the number of calls made with the user for each contact. The user may select a relevant contact in the contact list 1103 to speed-complete the dialing operation.
Of course, the mobile phone may also use a ranking algorithm such as a Preference Learning ranking algorithm, an LR (Logistic Regression) ranking algorithm, a GBDT (Gradient Boosting Tree) ranking algorithm, or an MFU (Most Frequently Used) ranking algorithm to rank the contacts of the mobile phone that determine X in step S502. For example, the mobile phone may determine the ranking among the contacts Sam, Jack, Amy, Peter, and Sara in (b) of fig. 11 by using a GBDT ranking algorithm according to the call states, such as the call frequency, the call duration, whether to plug or unplug an earphone during the call, and the phone power condition, recorded in the relevant call records in the user call record table 301, which is not limited in this embodiment of the present application.
In other embodiments of the present application, the mobile phone may also count contact lists corresponding to different time periods with time as granularity. As shown in fig. 12, the handset may be divided into a plurality of time periods in advance. For example, 9 to 11 points are taken as the period 1201, 11 to 14 points are taken as the period 1202, and the like. Further, the mobile phone may determine one or more call records belonging to each time segment according to the outgoing call time or the incoming call time of each call record in the call record table 301. As also shown in fig. 12, the handset may statistically determine that 15 call records are included in the time period 1201 and 10 call records are included in the time period 1202. Since each call record corresponds to a contact. Therefore, the mobile phone can count the contact list corresponding to each time cluster.
In addition, the mobile phone can dynamically adjust each divided time period. For example, since the call records in the call record table 301 are updated in real time, the mobile phone may periodically re-divide the time period according to the outgoing call time or incoming call time of the call records in the call record table 301. For example, when it is detected that the call frequency of the user is high in the time period from 9 to 10 o ' clock 30 minutes, the mobile phone may modify the time interval of the time period 1201 from 9 to 11 o ' clock to 9 to 10 o ' clock 30 minutes.
Still taking the time slot 1201 as an example, the time slot 1201 includes 15 call records, 7 of the 15 call records are call records with the contact Sam, 5 are call records with the contact Jack, and 3 are call records with the contact Tom. Then, according to the sequence of the number of calls from large to small, the mobile phone may determine that the contact list B corresponding to the time period 1201 sequentially includes: contact Sam, contact Jack, and contact Tom.
Then, after detecting the operation of opening the call APP by the user, the mobile phone may acquire current time information in addition to the location information of the current user, for example, the current time is 9 minutes, 48 minutes. Further, the mobile phone may determine that the call that the user needs to perform this time belongs to the time period 1201 based on the current time. Meanwhile, referring to the relevant description in step S502, based on the clustering result of the geographic clustering model, the mobile phone may determine that the call that the user needs to make this time belongs to the geographic cluster 701. The contact list a corresponding to the geographic cluster 701 sequentially includes: contact Sam, contact Jack, and contact Amy. The contact list B corresponding to the time period 1201 sequentially includes: contact Sam, contact Jack, and contact Tom.
It can be seen that the contacts in the contact list a and the contact list B that are overlapped are: sam and Jack, which states that the user often talks to Sam and Jack during the time period from 9 am to 11 am of the current location (e.g., point Z). Then the cell phone can determine the contacts Sam and Jack as X contacts that currently need to be recommended to the user. As shown in fig. 13 (a), the cell phone may display shortcuts of contacts Sam and Jack in the smart recommendation interface 1301 of the conversation APP. Meanwhile, the mobile phone can display the recommendation reason 1302 of the currently recommended contact in the intelligent recommendation interface 1301 as follows: based on the location of the user and the recommendation result of the current time, the user can conveniently and quickly find the needed contact person for communication after opening the communication APP. Alternatively, as shown in fig. 13 (B), the mobile phone may display both contacts in the contact list a and the contact list B as recommendation results in the smart recommendation interface 1301. In addition, the mobile phone can display the contacts (namely, the contacts Sam and Jack) overlapped in the contact list a and the contact list B in the top in the intelligent recommendation interface 1301, so that the user can conveniently and quickly find the needed contacts to communicate after opening the communication APP.
Still alternatively, the mobile phone may select the first X1 contacts in the contact list a, and select the first X2 contacts in the contact list B, and then, the mobile phone may determine the X1 contacts and the X2 contacts as the contacts that need to be recommended to the user this time. As shown in fig. 14, the mobile phone may display a recommendation list 1402 and a recommendation list 1403 in a smart recommendation interface 1401 of a call APP. The recommendation list 1402 is a list of one or more contacts recommended for the user to frequently talk at the location based on the user's current location. The recommendation list 1403 is one or more contacts recommended for the user based on the current time that frequently talk within the current time period. The contacts in the recommendation list 1402 and the recommendation list 1403 may be the same or different. Of course, the mobile phone may also merge the contacts in the recommendation list 1402 and the recommendation list 1403 into one recommendation list to be displayed in the intelligent recommendation interface 1401, which is not limited in this application.
S504, if the shortcut of the first contact person selected by the user is detected, the mobile phone calls the phone number of the first contact person.
Illustratively, as shown in (a) of fig. 15, if it is detected that the user selects a shortcut 1501 of a certain contact (for example, Sam) recommended by the handset for the user in step S503, as shown in (b) of fig. 15, the handset may display a call interface 1502 for calling the contact Sam and perform a dialing operation according to the phone number of the contact Sam.
It can be seen that after the user opens the conversation APP, the mobile phone can intelligently recommend contacts which are often contacted near the position for the user based on information such as the current position of the user. Therefore, the user can quickly find the contact person needing to be dialed according to the contact person recommended by the mobile phone before dialing, and does not need to manually find the corresponding contact person in the lengthy call record list, so that the operation process when the user communicates with the contact person is simplified, and the use experience of the user is improved.
It should be noted that, in the foregoing embodiment, the example is illustrated that the user uses the call APP to search for a contact to perform a call, and it may be understood that, if it is detected that the user opens the contact APP, the mobile phone may also execute the above steps S501 to S504 to recommend a contact list that is frequently contacted at the current location to the user in the contact APP, so that the user can quickly search for a contact that needs to be dialed at this time, which is not limited in this embodiment of the present application.
And S505, updating the clustering result in the clustering model by the mobile phone.
In step S505, the mobile phone may periodically update the clustering result of the geographic clustering model. It should be noted that, in the embodiment of the present application, no limitation is imposed on the execution sequence between step S505 and the above-mentioned steps S501 to S504.
For example, after detecting that every N (N is greater than or equal to 1) call records are added in the call record table 301, the mobile phone may be automatically triggered to update the clustering result of the geo-clustering model. For another example, the handset may set an update period (e.g., daily, weekly, or monthly), and the handset may automatically update the clustering result of the geographic clustering model according to the update period. For example, when the mobile phone updates the clustering result of the geographic clustering model every day, the mobile phone can be selected to be updated at night or in idle time such as when the mobile phone is being charged, and the situation that the mobile phone cannot be normally used by a user due to the fact that too much mobile phone resources are occupied in the updating process of the clustering model is avoided.
Taking the example of updating the clustering result of the geo-clustering model every week, as shown in fig. 16, the mobile phone can obtain the current and latest call record table 1601 from the call service each time. Each call log of the call log table 1601 stores therein corresponding location information. Furthermore, the mobile phone can input the position information in each call record into the geographic clustering model for geographic clustering analysis, and divide a plurality of geographic positions with similar position information into a geographic cluster. As shown in fig. 16, compared with the clustering result shown in fig. 7, the updated geo-clustering result has a new geo-cluster 1602 in addition to the geo-cluster 701 to the geo-cluster 703. Geographic cluster 1602 includes a plurality of geographic locations therein, indicating that a user has recently frequently spoken to a contact within the coverage area of geographic cluster 1602. Meanwhile, the mobile phone may also update the coverage size and location of each geographic cluster according to each call record in the latest call record table 1602. The contact list corresponding to each geographic cluster is also updated accordingly. Subsequently, after the operation that the user opens the conversation APP or the contact APP is detected, the mobile phone can determine the contact related to the current user position based on the latest geographic clustering result, and therefore the accuracy of the contact recommended to the user by the subsequent mobile phone is improved.
As shown in fig. 17, the present application discloses an electronic device, which can be used to implement the methods described in the above method embodiments. Illustratively, the electronic device may specifically include: an acquisition unit 1701, a determination unit 1702, a display unit 1703, a call unit 1704, and an update unit 1705. Wherein, the obtaining unit 1701 is configured to support the electronic device to execute the process S501 in fig. 5; the determining unit 1702 is configured to support the electronic device to perform the process S502 in fig. 5; the display unit 1703 is configured to support the electronic device to perform the process S503 in fig. 5; the calling unit 1704 is used to support the electronic device to execute the process S504 in fig. 5; the updating unit 1705 is used to support the electronic device to execute the process S505 in fig. 5. All relevant contents of each step related to the above method embodiment may be referred to the functional description of the corresponding functional module, and are not described herein again.
As shown in fig. 18, an embodiment of the present application discloses an electronic device, including: a touchscreen 1801, said touchscreen 1801 comprising a touch-sensitive surface 1806 and a display 1807; one or more processors 1802; a memory 1803; and one or more computer programs 1804. The various devices described above may be connected by one or more communication buses 1805. Wherein the one or more computer programs 1804 are stored in the memory 1803 and configured to be executed by the one or more processors 1802, the one or more computer programs 1804 include instructions that may be used to perform the steps of the present embodiments described above.
For example, the processor 1802 may specifically be the processor 110 shown in fig. 1, the memory 1803 may specifically be the internal memory 121 and/or the external memory 118 shown in fig. 1, the display screen 1807 may specifically be the display screen 194 shown in fig. 1, and the touch-sensitive surface 1806 may specifically be a touch sensor in the sensor module 180 shown in fig. 1, which is not limited in this embodiment of the present invention.
Through the above description of the embodiments, it is clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device may be divided into different functional modules to complete all or part of the above described functions. For the specific working processes of the system, the apparatus and the unit described above, reference may be made to the corresponding processes in the foregoing method embodiments, and details are not described here again.
Each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or make a contribution to the prior art, or all or part of the technical solutions may be implemented in the form of a software product stored in a storage medium and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) or a processor to execute all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: flash memory, removable hard drive, read only memory, random access memory, magnetic or optical disk, and the like.
The above description is only a specific implementation of the embodiments of the present application, but the scope of the embodiments of the present application is not limited thereto, and any changes or substitutions within the technical scope disclosed in the embodiments of the present application should be covered within the scope of the embodiments of the present application. Therefore, the protection scope of the embodiments of the present application shall be subject to the protection scope of the claims.

Claims (12)

1. A method for recommending a contact person, comprising:
acquiring N call records of a user, wherein each call record comprises a historical geographic position of the user during call, and N is greater than 1; inputting historical geographic positions in the N call records into a geographic clustering model, wherein the geographic clustering model performs geographic clustering analysis on longitude and latitude coordinates corresponding to the historical geographic positions by using a preset clustering algorithm, and divides a plurality of longitude and latitude coordinates with similar positions into a geographic area to obtain M geographic areas, wherein each geographic area comprises one or more historical geographic positions;
acquiring the current geographic position of a user;
determining a contact associated with the geographic location; wherein a first geographical area containing the geographical location is determined among the M geographical areas; determining one or more contacts of which the user has call records in the first geographic area as contacts associated with the geographic location;
recommending one or more of the contacts associated with the geographic location to a user;
and if the fact that the user selects the first contact is detected, displaying a calling interface for calling the first contact, wherein the first contact is one of the recommended contacts.
2. The method of claim 1, wherein prior to obtaining the current geographic location of the user, the method further comprises: detecting the operation of opening a call list by a user;
in response to the user opening a call list, the method further comprises:
and displaying a call list interface, wherein the call list interface comprises one or more call records.
3. The method of claim 2, wherein recommending one or more of the contacts associated with the geographic location to a user comprises:
displaying one or more of the contacts associated with the geographic location in the call list interface.
4. The method of claim 3, wherein displaying one or more of the contacts associated with the geographic location in the call list interface comprises:
and displaying the call records of the recommended one or more contacts at the top in the call list interface.
5. The method of claim 2, wherein a recommendation button is included in the call list interface;
wherein displaying one or more of the contacts associated with the geographic location comprises:
and displaying one or more of the contacts associated with the geographic position in response to the operation of the recommendation button selected by the user.
6. The method of any of claims 1-5, wherein recommending one or more of the contacts associated with the geographic location to a user further comprises: displaying a reason for recommendation; the reason for the recommendation is: a recommendation based on the geographic location.
7. The method of any of claims 1-5, wherein prior to determining the contact associated with the geographic location, the method further comprises:
acquiring current time information;
wherein determining the contact associated with the geographic location comprises:
determining a contact associated with both the geographic location and the temporal information.
8. The method of claim 7, wherein determining the contact associated with both the geographic location and the temporal information comprises:
determining M1 contacts associated with the geographic location, wherein the M1 contacts comprise contacts of which the user has call records in the first geographic area, the geographic location belongs to the first geographic area, and M1 is more than or equal to 1;
determining M2 contacts associated with the time information, wherein the M2 contacts comprise contacts of which the user has call records in a first time period, the time information belongs to the first time period, and M2 is more than or equal to 1;
determining an intersection or union of the M1 contacts and the M2 contacts as contacts associated with both the geographic location and the temporal information.
9. The method of claim 7, wherein recommending one or more of the contacts associated with the geographic location to a user further comprises: displaying a reason for recommendation; the reason for the recommendation is: a recommendation based on the geographic location and the temporal information.
10. The method of any of claims 1-5, further comprising, after determining the contact associated with the geographic location:
and sequencing the one or more contacts according to the call records of the user.
11. An electronic device, comprising:
the touch screen comprises a display screen and a touch sensor;
one or more processors;
one or more memories;
and one or more computer programs, wherein the one or more computer programs are stored in the one or more memories, the one or more computer programs comprising instructions which, when executed by the electronic device, cause the electronic device to perform the method of recommendation of a contact of any of claims 1-10.
12. A computer-readable storage medium having instructions stored therein, which when run on an electronic device, cause the electronic device to perform the method of recommending contacts of any of claims 1-10.
CN202110188893.7A 2019-04-17 2019-04-17 Contact person recommendation method and electronic device Active CN113225423B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110188893.7A CN113225423B (en) 2019-04-17 2019-04-17 Contact person recommendation method and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910310588.3A CN110225176B (en) 2019-04-17 2019-04-17 Contact person recommendation method and electronic device
CN202110188893.7A CN113225423B (en) 2019-04-17 2019-04-17 Contact person recommendation method and electronic device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910310588.3A Division CN110225176B (en) 2019-04-17 2019-04-17 Contact person recommendation method and electronic device

Publications (2)

Publication Number Publication Date
CN113225423A CN113225423A (en) 2021-08-06
CN113225423B true CN113225423B (en) 2022-05-27

Family

ID=67822618

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910310588.3A Active CN110225176B (en) 2019-04-17 2019-04-17 Contact person recommendation method and electronic device
CN202110188893.7A Active CN113225423B (en) 2019-04-17 2019-04-17 Contact person recommendation method and electronic device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910310588.3A Active CN110225176B (en) 2019-04-17 2019-04-17 Contact person recommendation method and electronic device

Country Status (2)

Country Link
CN (2) CN110225176B (en)
WO (1) WO2020211705A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225176B (en) * 2019-04-17 2021-03-09 华为技术有限公司 Contact person recommendation method and electronic device
CN110909241B (en) * 2019-11-20 2023-04-07 腾讯科技(深圳)有限公司 Information recommendation method, user identification recommendation method, device and equipment
CN114449103B (en) * 2020-10-30 2024-01-30 华为终端有限公司 Reminding method, graphical user interface and terminal
CN114466102B (en) * 2021-08-12 2022-11-25 荣耀终端有限公司 Method for displaying application interface, related device and traffic information display system
CN115016698A (en) * 2021-12-14 2022-09-06 荣耀终端有限公司 Display method of contact card and electronic equipment
CN117135253A (en) * 2023-07-12 2023-11-28 荣耀终端有限公司 Contact searching method, terminal equipment and storage medium

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100015976A1 (en) * 2008-07-17 2010-01-21 Domingo Enterprises, Llc System and method for sharing rights-enabled mobile profiles
US8437779B2 (en) * 2009-10-19 2013-05-07 Google Inc. Modification of dynamic contact lists
CN101729655A (en) * 2009-10-30 2010-06-09 深圳市戴文科技有限公司 Contact searching method, system and mobile terminal
CN102006552A (en) * 2010-11-22 2011-04-06 上海合合信息科技发展有限公司 Method for creating contact group based on geographical location information
CN102131144A (en) * 2011-01-27 2011-07-20 宇龙计算机通信科技(深圳)有限公司 Method, system and mobile terminal for displaying contact
CN102202095A (en) * 2011-05-13 2011-09-28 宇龙计算机通信科技(深圳)有限公司 Terminal contact person sequencing method, device and terminal
CN102957777A (en) * 2011-08-16 2013-03-06 飞图科技(北京)有限公司 Method for sequencing linkmen in phonebook according to contact frequency
US20130091156A1 (en) * 2011-10-06 2013-04-11 Samuel B. Raiche Time and location data appended to contact information
CN103945053B (en) * 2014-01-16 2016-04-27 联想(北京)有限公司 A kind of information processing method and electronic equipment
CN105611022B (en) * 2015-09-23 2019-06-21 上海斐讯数据通信技术有限公司 The device and method that mobile terminal addressbook contact person is recommended in a kind of strange land
CN106506683A (en) * 2016-11-30 2017-03-15 深圳天珑无线科技有限公司 A kind of recommendation method and apparatus
CN107370890A (en) * 2017-09-13 2017-11-21 深圳市金立通信设备有限公司 A kind of quick dial method, terminal and computer-readable recording medium
CN110225176B (en) * 2019-04-17 2021-03-09 华为技术有限公司 Contact person recommendation method and electronic device

Also Published As

Publication number Publication date
CN113225423A (en) 2021-08-06
CN110225176B (en) 2021-03-09
WO2020211705A1 (en) 2020-10-22
CN110225176A (en) 2019-09-10

Similar Documents

Publication Publication Date Title
CN113225423B (en) Contact person recommendation method and electronic device
CN111724775B (en) Voice interaction method and electronic equipment
CN110621013B (en) SIM module management method and electronic equipment
CN110177074B (en) Method for sending conversation message and electronic equipment
CN112154640B (en) Message playing method and terminal
CN114554005B (en) Notification message management method and electronic equipment
US11785128B2 (en) Caller identification display method based on application, and terminal device
CN114422640B (en) Equipment recommendation method and electronic equipment
CN114900548A (en) Method for establishing communication connection, client and server
WO2020151408A1 (en) Contact displaying method and related device
CN113391743B (en) Display method and electronic equipment
WO2021042881A1 (en) Message notification method and electronic device
CN112740148A (en) Method for inputting information into input box and electronic equipment
CN114640747A (en) Call method, related device and system
CN114064160A (en) Application icon layout method and related device
CN115729405A (en) Display method of dock in desktop and electronic equipment
CN114244955A (en) Service sharing method and system and electronic equipment
CN112840680A (en) Position information processing method and related device
CN115942253B (en) Prompting method and related device
CN112014866B (en) Motion trail recording method and related equipment
CN117255154A (en) Incoming call display method and electronic equipment
CN116264600A (en) Incoming call reminding method, electronic device and computer readable storage medium
CN115801961A (en) Calling method and electronic equipment
CN117851617A (en) Display method, electronic device, storage medium, and program product
CN117827758A (en) File opening method and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant