Method and terminal for displaying short messages
By integrating satellite SMS and regular SMS messages into the terminal, the problem of users viewing and sending them separately in different applications is solved, thus improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-20
- Publication Date
- 2026-04-14
AI Technical Summary
In existing technologies, terminals cannot display satellite SMS and regular SMS messages in the same application, resulting in a poor user experience.
By implementing a method for displaying short messages in the terminal, satellite SMS and regular SMS are displayed together in the same application's conversation list interface. The message types are distinguished by identifiers, and input and sending controls are provided, supporting the viewing and sending of different types of SMS in the same interface.
It enables the integration of satellite SMS and regular SMS messages into a single application, enhancing the user experience and making it easier for users to view and send different types of SMS messages.
Smart Images

Figure CN117135258B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to a method and terminal for displaying short messages. Background Technology
[0002] Short messages can include satellite SMS (also known as satellite short message) and regular SMS. SMS messages sent and received by a terminal via a satellite communication module are called satellite SMS. SMS messages sent and received by a terminal via a mobile communication module are called regular SMS.
[0003] Currently, the device uses a separate application to send and receive satellite SMS messages, distinct from regular SMS messages. Regular and satellite SMS messages cannot be displayed within the same application. Users must access both the satellite and regular SMS messages for the same contact through two separate applications, resulting in a poor user experience.
[0004] Therefore, how to display satellite SMS and regular SMS messages on the terminal in the same application is an urgent problem to be solved. Summary of the Invention
[0005] This application provides a method and terminal for displaying short messages. Using the method provided in this application, the terminal can display satellite SMS and regular SMS in the same application.
[0006] In a first aspect, this application provides a method for displaying short messages, which may include: a terminal sending or receiving a first short message via a cellular network; the terminal displaying the session information of the first short message in a session list interface of a first application; the session information of the first short message includes one or more of the following: contact information of the first short message, and the receiving or sending time of the first short message, and the content of the first short message; the terminal sending or receiving a first satellite short message via a satellite network; the terminal displaying the session information of the first satellite short message in a session list interface of a first application, the session information of the first satellite short message including one or more of the following: contact information of the satellite short message, and the receiving or sending time of the satellite short message, and the content of the satellite short message.
[0007] The first short message includes any one of MMS, SMS, or rich media SMS. The first application's conversation list interface is used to display one or more conversations on the terminal.
[0008] In this way, the terminal can display regular SMS messages and satellite SMS messages in the same application.
[0009] In conjunction with the first aspect, in one possible implementation, the method further includes: based on the user's operation of viewing the first session between the terminal and the first contact in the session list interface of the first application, the terminal displays a first user interface, which includes a first short message and a second satellite short message.
[0010] In this way, the device will display both regular and satellite SMS messages from the same contact in a single user interface. This allows the user to view all SMS messages between the device and their primary contact within a single view.
[0011] In conjunction with the first aspect, in one possible implementation, the first user interface further includes a first identifier and a second identifier. The first identifier is used to indicate the message type of the first short message; the second identifier is used to indicate the message type of the second satellite short message, an input box for inputting the second short message, and a first control for sending the second short message. The second short message includes any one of SMS, MMS, and rich media SMS.
[0012] In this way, users can see the message type of each short message on the interface.
[0013] In conjunction with the first aspect, in one possible implementation, the method further includes: based on the user's action of clicking on the satellite SMS folder in the conversation list interface of the first application, the terminal displays a first conversation between the terminal and a first contact, the first conversation including satellite SMS; based on the user's action of clicking on the first conversation, the terminal displays a second user interface, the second user interface including the first SMS and the second satellite SMS, an input box for entering satellite SMS and a second control for sending satellite SMS.
[0014] Furthermore, in one possible implementation, when the terminal detects that the user clicks on the satellite SMS folder in the conversation list interface of the first application, the terminal can activate the satellite communication module to search for, locate, and select satellites to determine which satellites can be used for satellite communication.
[0015] Optionally, when the terminal detects that the user has viewed the first conversation between the terminal and the first contact in the conversation list interface of the first application, the terminal may not need to activate the satellite communication module. This can save terminal power consumption.
[0016] In this way, users can access the user interface for sending satellite SMS messages by clicking the satellite SMS folder. Furthermore, when a user clicks the satellite SMS folder, the terminal can also enter satellite communication mode, meaning the satellite communication module in the terminal is activated, and the terminal can receive or send satellite SMS messages.
[0017] In conjunction with the first aspect, in one possible implementation, the terminal displays the text content of the third satellite short message entered by the user in the second user interface; based on the user's operation of clicking the second control, the terminal sends the third satellite short message to the first contact via the satellite network.
[0018] In conjunction with the first aspect, in one possible implementation, the terminal displays the content of a third short message entered by the user in a third user interface, and sends the third short message to a second contact via a cellular network based on the first user's operation. The third user interface is used to display one or more short messages contained in the second session between the terminal and the second contact. Alternatively, the terminal displays the content of a fourth satellite short message entered by the user in the third user interface, and sends the fourth satellite short message to the second contact via a satellite network based on the second user's operation.
[0019] Furthermore, in one possible implementation, sending a third short message to a second contact via a cellular network includes: when the terminal is camped on a cellular network, sending the third short message to the second contact via the cellular network;
[0020] Sending the fourth satellite short message to the second contact via satellite network includes: when the terminal is not camped on a cellular network and the satellite communication module in the terminal is enabled, sending the fourth satellite short message to the second contact via satellite network.
[0021] In this way, users can send both satellite SMS and regular SMS messages within the same application.
[0022] In conjunction with the first aspect, in one possible implementation, the terminal displays the session information of the first short message in the session list interface of the first application, including: the terminal obtaining the first contact information contained in the first short message; the terminal searching for the first session corresponding to the first contact information in the short message session table based on the first contact information, the short message session table including a first short message session table, a satellite short message session table, the first short message session table including one or more of an SMS session table, an MMS session table, and a rich media SMS session table; the terminal determining that the first short message is the most recent short message in the first session, and displaying the session information of the first short message in the session list interface of the first application.
[0023] In this way, the terminal can display different types of conversations between the terminal and the same contact as a single conversation, updating the conversation content with the most recently updated SMS message.
[0024] In conjunction with the first aspect, in one possible implementation, the terminal searches for the first session corresponding to the first contact information in the short message session table based on the first contact information. The short message session table includes a first short message session table and a satellite short message session table, including: the terminal merging N sessions in the first short message session table and the satellite short message session table, where N is an integer; the terminal determines the most recent short message in one or more first sessions that contain the first contact information among the N sessions.
[0025] In conjunction with the first aspect, in one possible implementation, the terminal displays the session information of the first short message in the session list interface of the first application, including: the terminal obtaining the first contact information contained in the first short message; when the terminal does not find the session corresponding to the first contact information in the short message session table and the short message content table, the terminal generates a session ID for the first session and associates the session information of the first short message with the session ID of the first session, wherein the short message session table includes a first short message session table and a satellite short message session table, and the first short message session table includes one or more of the SMS session table, MMS session table, and rich media SMS session table; the terminal saves the session ID of the first session and the session information of the first short message associated with the first session ID in the short message session table; the terminal determines that the first short message is the most recent short message in the first session and displays the session information of the first short message in the session list interface of the first application.
[0026] In conjunction with the first aspect, in one possible implementation, the SMS session table is used to store one or more SMS sessions; the MMS session table is used to store one or more MMS sessions; the rich media SMS session table is used to store one or more rich media SMS sessions; and the satellite SMS session table is used to store one or more satellite SMS sessions.
[0027] In conjunction with the first aspect, in one possible implementation, the terminal displays the satellite SMS session information in the session list interface of the first application, including: the terminal obtaining the fourth contact information contained in the first satellite SMS; the terminal searching for the first satellite SMS session corresponding to the fourth contact information in the SMS session table based on the fourth contact information, the SMS session table including a first SMS session table and a satellite SMS session table, the first SMS session table including one or more of the SMS session table, MMS session table, and rich media SMS session table; the terminal determining that the first satellite SMS is the most recent SMS in the first satellite SMS session, and displaying the session information of the first satellite SMS in the session list interface of the first application.
[0028] In this way, the terminal can display different types of conversations between the terminal and the same contact as a single conversation, updating the conversation content with the most recently updated SMS message.
[0029] In conjunction with the first aspect, in one possible implementation, the terminal searches for the first satellite short message session corresponding to the fourth contact information in the short message session table based on the fourth contact information. The short message session table includes a first short message session table and a satellite short message session table, including: the terminal merging N sessions in the first short message session table and the satellite short message session table, where N is an integer; the terminal determines the most recent short message in one or more fourth sessions that contain the fourth contact information among the N sessions.
[0030] In conjunction with the first aspect, in one possible implementation, the terminal displays the satellite SMS session information in the session list interface of the first application, including: the terminal obtaining the fourth contact information contained in the first satellite SMS; when the terminal does not find the session corresponding to the fourth contact information in the SMS session table and the SMS content table, the terminal generates a session ID for the fourth session and associates the session information of the first satellite SMS with the session ID of the fourth session. The SMS session table includes a first SMS session table and a satellite SMS session table. The first SMS session table includes one or more of the SMS session table, MMS session table, and rich media SMS session table; the terminal saves the session ID of the fourth session and the session information of the first satellite SMS associated with the fourth session ID in the SMS session table; the terminal determines that the first satellite SMS is the most recent SMS in the fourth session and displays the session information of the first satellite SMS in the session list interface of the first application.
[0031] In conjunction with the first aspect, in one possible implementation, the terminal includes a short message content table, which comprises an SMS table, an MMS table, a rich media SMS table, and a satellite SMS table. The SMS table stores the content of one or more SMS messages received or sent by the terminal, the sending or receiving time of one or more SMS messages, and the session ID of one or more SMS messages. The MMS table stores the content of one or more MMS messages received or sent by the terminal, the sending or receiving time of one or more MMS messages, and the session ID of one or more MMS messages. The rich media SMS table stores the content of one or more rich media SMS messages received or sent by the terminal, the sending or receiving time of one or more rich media SMS messages, and the session ID of one or more rich media SMS messages. The satellite SMS table stores the content of one or more satellite SMS messages received or sent by the terminal, the sending or receiving time of one or more satellite SMS messages, and the session ID of one or more satellite SMS messages.
[0032] In conjunction with the first aspect, in one possible implementation, the method further includes: the terminal, based on a third user operation, searches for one or more short messages corresponding to the fifth contact in the SMS table, MMS table, rich media SMS table, and satellite SMS table; the one or more short messages include: satellite SMS, SMS, MMS, and rich media SMS; the fifth user operation is used to view a fourth user interface; the fourth user interface is used to display one or more short messages contained in the conversation between the terminal and the fifth contact; the terminal determines the chronological order of the sending or receiving times of the one or more short messages; and the terminal displays one or more short messages on the fourth user interface based on the chronological order of the sending or receiving times of the one or more short messages.
[0033] In this way, the historical information of a single session is displayed by combining regular SMS / MMS, RCS messages, and satellite SMS, and arranged in ascending order of time.
[0034] Secondly, this application provides a terminal including a display screen, one or more processors, one or more memories, and a transceiver. The transceiver, the one or more memories, are coupled to the one or more processors and the display screen. The one or more memories are used to store computer program code, which includes computer instructions. When the one or more processors execute the computer instructions, the terminal performs the method in any of the possible implementations of the first aspect described above.
[0035] Thirdly, this application provides a computer storage medium including computer instructions that, when executed on a terminal, cause the terminal to perform the method in any possible implementation of the first aspect described above.
[0036] Fourthly, this application provides a computer program product that, when run on a computer, causes the computer to perform the method in any possible implementation of the first aspect described above.
[0037] Fifthly, this application provides a chip or chip system for use in a terminal, including a processing circuit and an interface circuit. The interface circuit is used to receive code instructions and transmit them to the processing circuit, and the processing circuit is used to execute the code instructions to perform the method in any possible implementation of the first aspect above. Attached Figure Description
[0038] Figure 1A This is a schematic diagram of the communication system 10 provided in an embodiment of this application;
[0039] Figure 1B This is a schematic diagram of the communication system 20 provided in an embodiment of this application;
[0040] Figure 1C This is a schematic diagram of the communication system 30 provided in an embodiment of this application;
[0041] Figures 2-12 These are schematic diagrams of a set of user interfaces provided in the embodiments of this application;
[0042] Figure 13 This is a schematic diagram of the terminal structure provided in the embodiments of this application;
[0043] Figure 14 This is a flowchart of a method for displaying short messages provided in an embodiment of this application;
[0044] Figure 15 This is an internal module interaction diagram of the terminal 100 provided in the embodiments of this application. Detailed Implementation
[0045] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to and includes any or all possible combinations of one or more of the listed items.
[0046] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.
[0047] The following is an introduction to a communication system for sending and receiving short messages provided in an embodiment of this application.
[0048] Figure 1A An exemplary embodiment of a communication system 10 provided in this application is shown. For example... Figure 1A As shown, the communication system 10 may include a terminal 100, a satellite 21, a satellite network device 200, a short message center 22, and a terminal 300.
[0049] In this system, terminal 100, operating under a satellite network, can send short messages (including SMS, MMS, and rich media SMS, which can be referred to as regular SMS) to terminal 300, operating under a cellular network. Specifically, if terminal 100 is not registered under a cellular network, it can send SMS 1 to the satellite via its satellite communication module. Upon receiving SMS 1, satellite 21 can forward it to satellite network device 200. Satellite network device 200 parses SMS 1 and sends the decapsulated version to SMS center 22. SMS center 22 identifies the recipient of the decapsulated SMS 1, recapsulates it into SMS 1', and sends SMS 1' to terminal 300 via the cellular network. Terminal 300 receives SMS 1' via the cellular network.
[0050] Terminal 300, operating on a cellular network, can also send short messages (i.e., satellite short messages, or simply satellite SMS) to terminal 100, operating on a satellite network. Specifically, terminal 300 can send short message 2 to short message center 22 via the cellular network. Short message center 22 can encapsulate short message 2 into short message 2' and send it to satellite network device 200. Satellite network device 200 then sends short message 2' to terminal 100 via satellite 21.
[0051] Understandably, because the communication protocols under satellite networks are different from those under cellular networks, SMS 1 and SMS 1' may contain the same text content, but their formats may differ; for example, SMS 1 and SMS 1' may contain different fields. Similarly, SMS 2 and SMS 2' may contain the same text content, but their formats may differ; for example, SMS 2 and SMS 2' may contain different fields.
[0052] In this embodiment, a satellite network terminal refers to a terminal that is not registered on a cellular network and whose satellite communication module is enabled. This terminal can receive information transmitted by the satellite and can also transmit information to the satellite.
[0053] A terminal in a cellular network refers to a terminal that resides on a cellular network and can send and receive information through the cellular network.
[0054] Figure 1B An exemplary embodiment of a communication system 20 provided in this application is shown. For example... Figure 1B As shown, the communication system 20 may include: terminal 100, satellite 21, satellite network equipment 200, short message center 25, and terminal 400.
[0055] In this system, terminal 100 within the satellite network can send short messages (i.e., satellite short messages, or satellite SMS) to terminal 400 within the same satellite network. Specifically, terminal 100 can send short message 3 to satellite 21. After receiving short message 3, satellite 21 can forward it to satellite network device 200. Satellite network device 200 can then send short message 3 to short message center 25. After parsing the recipient of short message 3, short message center 25 can send short message 3 to satellite network device 200. Then, satellite network device 200 can send short message 3 to terminal 400 via satellite 21.
[0056] Terminal 400 in the satellite network can send short messages (i.e., satellite short messages, or satellite SMS) to terminal 100 in the same satellite network. Specifically, terminal 400 can send short message 4 to satellite 21. After receiving short message 4, satellite 21 can forward it to satellite network device 200. Satellite network device 200 can then send short message 4 to short message center 25. After parsing the recipient of short message 4, short message center 25 can send short message 4 to satellite network device 200. Then, satellite network device 200 can send short message 4 to terminal 100 via satellite 21.
[0057] Figure 1C An exemplary embodiment of a communication system 30 provided in this application is illustrated. For example... Figure 1C As shown, the communication system 30 may include a terminal 100, a short message center 22, and a terminal 300.
[0058] When terminal 100 is on a cellular network, it can send a short message to terminal 300 on the same cellular network. Specifically, terminal 100 can send short message 5 to short message center 22 via the cellular network. Short message center 22 can then send short message 5 to terminal 300 via the cellular network.
[0059] Terminal 300, located within a cellular network, can send short messages to terminal 100, which is also located within a cellular network. Specifically, terminal 300 can send short message 6 to short message center 22 via the cellular network. Short message center 22 can then forward short message 6 to terminal 100 via the cellular network.
[0060] In this application's embodiments, short messages include regular SMS and satellite SMS. In some embodiments, regular SMS may include SMS, MMS, and rich media SMS. Satellite SMS may be referred to as satellite short messages.
[0061] In this embodiment of the application, when the terminal is not camped on a cellular network, the terminal receives short messages sent by the satellite (e.g., short messages sent by satellite) through the satellite communication module in the terminal. Figure 1A The short message 2' shown in the image Figure 1B The short message 3 received by terminal 400 and the short message 4 received by terminal 100 shown in the figure, as well as the short message sent to the satellite through the satellite communication module in the terminal, are called satellite short messages (e.g., Figure 1A The shown short message 1, Figure 2 The short messages 3 and 4 shown in the diagram can also be referred to as satellite SMS. In some embodiments, they can also be called satellite short messages.
[0062] In this embodiment of the application, when the terminal is camped on a cellular network, the mobile communication module in the terminal receives SMS messages (e.g., text messages) through the cellular network. Figure 1A The short message 1' shown in the image Figure 1C The text includes short messages 6 received by terminal 100 and 5 received by terminal 300, as well as short messages sent via cellular networks (e.g., short messages 6 received by terminal 100 and short messages 5 received by terminal 300). Figure 1A The text message shown is 2, and Figure 1C The short message 5 sent by terminal 100 and the short message 6 sent by terminal 300 shown are referred to as ordinary SMS. Ordinary SMS can include SMS, MMS, and rich communication suite (RCS), etc. Among them, SMS only contains text information. MMS is a multimedia messaging service provided by operators, which can transmit information such as images, text, and text in real time. Rich communication suite (RCS) is a rich media service provided based on the basic communication services of operators. Rich communication suite (RCS) can include one or more of the following: text, still images, animations, audio, video, and installation packages. In some embodiments, rich communication suite (RCS) can also be referred to as rich media message.
[0063] In existing technology, some terminals can send and receive satellite SMS messages. These terminals use application A to send and receive satellite SMS messages and application B to send and receive regular SMS messages.
[0064] For example, Figure 2 An exemplary schematic diagram of the user interface of terminal 100 is shown. For example... Figure 2 As shown, terminal 100 can display user interface 200. User interface 200 can display status bar 201 and icons of multiple applications, such as satellite communication application icon 202, information icon 203, and icons of applications such as QR code scanning application, settings application, payment application, dialing application, camera application, and contacts application. The status bar 201 can display a signal strength indicator 201A for mobile communication signal (also known as cellular network signal). This signal strength indicator 201A indicates that terminal 100 is not connected to a cellular network; at this time, terminal 100 is not camped on a cellular network.
[0065] Users can click icon 202 to open the satellite communication application to send satellite SMS messages or view received satellite SMS messages. Users can click icon 203 to open the messaging application to send regular SMS messages or view received regular SMS messages.
[0066] In this way, satellite SMS messages and regular SMS messages sent by the same contact to user 100 are displayed in two separate applications. Similarly, satellite SMS messages and regular SMS messages sent by user 100 to the same contact are also displayed in two separate applications. User 100 needs to access both applications separately to view satellite SMS messages sent by the same contact, and also needs to send both satellite SMS messages and regular SMS messages to the same contact separately in each application. The inability to display both satellite and regular SMS messages within a single application results in a poor user experience.
[0067] In a method for displaying SMS messages provided in this application embodiment, satellite SMS and regular SMS messages can be displayed in the same application. This eliminates the need for users to view or send satellite SMS and regular SMS messages separately in two applications, simplifying user operations and improving the user experience.
[0068] The following diagram illustrates how to display satellite SMS and regular SMS messages within the same application.
[0069] Figure 3 An example of the user interface 300 of terminal 100 is shown. For example... Figure 3 As shown, the user interface 300 may include a status bar 301 and application icons, such as an icon 302 for a messaging application. The status bar 301 may display a signal strength indicator 301A for mobile communication signals (also known as cellular network signals). This signal strength indicator 301A indicates that the terminal 100 is not connected to a cellular network; in this case, the terminal 100 is not registered on a cellular network. The user can click icon 302, and in response to the user's action, the terminal 100 may display the user interface 400.
[0070] Figure 4 An example of a user interface 400 of terminal 100 is shown. For example... Figure 4As shown, the user interface 400 may include page instruction text 401, a search box 402, a folder 403, message bars 405, 407, and 408. The folder 403 includes a control 404, and the message bar 405 includes a control 406. The text in the page instruction text 401 may be "Short Messages," indicating that the current page is a short message conversation list page where users can view and send short messages. The search box 402 can be used to search for all short messages saved in the terminal 100. Users can click on the control 404 in the folder 403 to view and send satellite short messages in the terminal 100. Users can click on the control 406 in the message bar 405 to view notification messages in the terminal. Users can click on the message bar 407 to view short messages between the user of the terminal 100 and the contact "Xiaoming" (short messages sent by the user of the terminal 100 to the contact "Xiaoming," and short messages sent by the contact "Xiaoming" to the user of the terminal 100). The message bar 407 can display the latest short messages between the user of terminal 100 and the contact "Xiaoming" (i.e., short messages sent by the user of terminal 100 to the contact "Xiaoming", and short messages sent by the contact "Xiaoming" to the user of terminal 100). The message bar 408 can display the latest short messages between the user of terminal 100 and the contact "Xiaofang" (e.g., short messages received or sent via cellular network, with content such as "Let's go shopping together this afternoon"). When terminal 100 detects that the user clicks control 404, in response to the user's action, terminal 100 can display user interface 500.
[0071] Figure 5 An example of a user interface 500 of terminal 100 is shown. For example... Figure 5 As shown, the user interface 500 may include: control 501, search bar 502, message bar 503, message bar 504, control 505, and control 506. Control 501 can be used to return to the previous screen. Search bar 502 can be used to search for short messages between contacts who have communicated with the user of terminal 100 via satellite short messages. Message bar 503 provides instructions on using satellite short messages. The user can click on message bar 503 to view the instructions. Message bar 504 is used to view short messages sent by the user of terminal 100 to contact "Xiaoming" and received from contact "Xiaoming". Message bar 504 can also display the latest short message between the user of terminal 100 and contact "Xiaoming" (e.g., ...). Figure 5(As shown in the image, "I'm on a snowy mountain, requesting rescue"). Users can click control 505 to send satellite messages to other contacts. Users can click control 506 to delete, configure, etc., the satellite messages displayed in the user interface 500.
[0072] Understandably, the user interface 500 only displays contacts with whom the user of terminal 100 has satellite SMS communication, as well as all SMS messages between the user of terminal 100 and these contacts saved by terminal 100. That is, only if the user of terminal 100 has satellite SMS communication with the contact "Xiaoming" will the conversation between terminal 100 and "Xiaoming" be displayed in the user interface 500. If the user of terminal 100 does not have satellite SMS communication with the contact "Xiaofang," the conversation between "Xiaofang" will not be displayed in the user interface 500.
[0073] When terminal 100 detects that a user clicks on message bar 504, in response to the user's operation, terminal 100 can display user interface 600.
[0074] Figure 6 An example of a user interface 600 of terminal 100 is shown. For example... Figure 6As shown, the user interface 600 can be used to view short messages sent by the contact "Xiaoming" to the user of terminal 100, and to send satellite short messages to the contact "Xiaoming". The user interface 600 may include controls 601, text 602, text 603, text 604, short message text 605, text 606, text 607, controls 608, short message text 609, text 610, controls 611, controls 612, input boxes 613, controls 614, text 615, text 616, and control 617. Control 601 is used to return to the previous interface. Text 602 is used to display the contact's name (e.g., Xiaoming) and phone number (e.g., +86136****5678). Text 603 indicates that short message text 605 is an SMS / MMS. Text 604 indicates that the sending date of short message text 605 and short message text 609 is "Today is Monday". The specific content of short message text 605 could be "I'm getting ready to go to the snow". Text 606 indicates that the specific sending time of short message text 605 is "9:30 AM". Text 607 indicates that short message text 609 is a satellite short message. Control 608 indicates the location information of terminal 100 when sending short message text 609. The specific content of short message text 609 can be "I am on a snow mountain, requesting rescue". Text 610 indicates the specific sending time of short message text 609 as "11:28 AM" and the sending status as "successfully sent". Control 611 is used to select to include the current location of terminal 100 when sending the satellite short message. Control 612 is used to input the specific content of the satellite short message that the user of terminal 100 needs to send. Input box 613 is used to display the specific content of the satellite short message entered by the user through control 612. Control 614 is used to display the remaining time for the user to edit the content of the satellite short message and to trigger terminal 100 to send the user-edited satellite short message. Texts 615 and 616 are the text content of the satellite short message provided by terminal 100. Users can directly select text 615 or text 616 as the text content of the satellite SMS to be sent. For example, text 615 could contain "I'm here, everything is normal," while text 616 could contain "I'm trapped, requesting rescue." Control 617 can be used to delete one or more SMS messages between the contact and terminal 100, view the contact, or add the contact to a blacklist, etc.
[0075] Understandable, Figure 6 The specific text content of SMS text 605 and SMS text 609 shown in the examples are merely examples, and the specific text content of SMS text 605 and SMS text 609 is not limited in this application embodiment.
[0076] Understandable, Figure 6The user interface 600 shown can display more short message text. Figure 6 For illustrative purposes only, this application embodiment does not limit the number of short messages displayed in the user interface 600.
[0077] Understandably, terminal 100 can display more text messages for the user to choose from and send. Figure 6 The text 615 and text 616 shown are merely examples. This application embodiment does not limit the number or specific content of texts that can be selected by the user and are displayed on the terminal 100.
[0078] Alternatively, in one possible implementation, the terminal 100 may display a user interface for locating satellites before the user edits the text content of the satellite short message to be sent, or after the user clicks control 614.
[0079] Figure 7 An exemplary user interface 700 of terminal 100 is shown. The user interface 700 can be used by terminal 100 to search for and select satellites for communication. The user interface 700 may include prompt messages 701 and 702, and a satellite icon display area 703. Prompt messages 701 and 702 can be used to inform the user that terminal 100 is performing a satellite selection operation, and to keep terminal 100 in an open area to ensure that the satellite signal received by terminal 100 is not blocked by obstacles (e.g., mountains), thereby increasing the success rate of sending satellite short messages to the target satellite. Prompt messages 701 and 702 may include, but are not limited to, text-based prompts, image-based prompts, animated prompts, etc. For example, prompt message 701 may be a text-based prompt: "Searching for satellites, please stay in an open area and avoid obstructing the signal with foreign objects within the visible range." For example, prompt message 702 may be a text-based prompt: "Selecting satellites, please wait." The satellite icon display area 703 can be used to display the satellite icons and numbers corresponding to the satellites searched by the terminal 100. For example, the satellite icon display area 703 can display the satellite number and icon of satellite "1", satellite "2", and satellite "3".
[0080] After the terminal 100 determines the satellite with the strongest signal from the searched satellites through satellite selection, it can display a first marker, which can be used to indicate that the target satellite has been selected. Optionally, the first marker can also be used to prompt the user with the satellite number and satellite icon of the selected target satellite.
[0081] For example, after selecting a target satellite, terminal 100 can display a user interface for selecting the satellite to communicate with.
[0082] Figure 8 An example of a user interface 800 of terminal 100 is shown. For example... Figure 8 As shown, the user interface 800 can be used to select satellites for communication. The user interface 800 may include prompt messages 801 and 802, and a satellite icon display area 803. Prompt messages 801 and 802, and the satellite icon display area 803, can be used to inform the user that satellite selection is complete and that they should be in an open area to ensure that the terminal 100 is not obstructed when sending and receiving satellite signals, thus improving the success rate of sending satellite short messages to the satellite network device 200. Prompt messages 801 and 802 can be text-based. For example, prompt message 801 could be: "Please try to be in an open area and avoid obstructing the signal with foreign objects within the visible range," and prompt message 802 could be: "Satellite selection successful. Next, please adjust the terminal's posture according to the prompts to ensure communication quality." The satellite icon display area 803 can include the satellite icon and number information corresponding to the satellites searched by the terminal 100. The satellite icon display area 803 may also include a marker 804. Terminal 100 can identify the selected target satellite using a marker, which can be a color marker or a graphic marker. For example, marker 804 is a graphic marker. Marker 804 can be used to indicate to the user that satellite "1" is the target satellite selected by terminal 100. When the marker is a color marker, the color can be changed to make the target satellite's color different from the other satellites, thereby prompting the user to identify the target satellite.
[0083] In one possible implementation, terminal 100 can receive user input regarding a satellite icon or number, and in response to this input, determine that the satellite corresponding to the satellite icon or number is the target satellite. For example, terminal 100 can respond to user input regarding a satellite icon or number... Figure 7 Inputting the satellite icon of satellite "No. 1" (e.g., clicking it) in response to this input determines satellite "No. 1" as the target satellite. Terminal 100 can also display the above... Figure 8 The user interface shown is 800.
[0084] For example, when a user selects a target satellite in terminal 100, terminal 100 may display user interface 900.
[0085] Figure 9 An example is shown of the user interface 900 of terminal 100. For example... Figure 9As shown, the user interface 900 is used to instruct the user to align the terminal 100 with the target satellite. The user interface 900 may include prompts 901, 902, and 903. Prompts 901, 902, and 903 can be used to prompt the user to adjust the terminal 100 in the direction that reduces azimuth and elevation deviations, so that the radiation direction of the terminal 100's satellite antenna is aligned with the target satellite. Prompts 901 and 903 can be text-based, while prompt 902 can include both text and image-based prompts. For example, prompt 901 could be: "Please adjust the terminal to the optimal posture (Hint: Please rotate the phone as instructed to align the satellite icon with the top gray area; please adjust the phone's angle up and down until the two circles overlap, and after feeling a vibration, the phone is in the optimal posture)." Here, "top gray area" refers to the content shown in area 902A of prompt 902, and "two circles" refers to the content shown in area 902B of prompt 902. The prompt message 902 may also include instructions on how the user can adjust the terminal's orientation. For example, the text prompt "Please rotate your phone to the right" in prompt message 902 can prompt the user to rotate in a specified direction (e.g., to the right). The prompt message 903 may include real-time data for the satellite time terminal 100, such as local time, azimuth deviation, elevation deviation, and signal strength (one or more of these). Local time refers to the time in the city where the terminal 100 is currently located; azimuth deviation is the difference between the azimuth angle in the direction of the satellite transmission link and the azimuth angle in the radiation direction of the satellite antenna; elevation deviation is the difference between the elevation angle in the direction of the satellite transmission link and the elevation angle in the radiation direction of the satellite antenna; and signal strength is the signal strength of the target satellite currently received by the terminal 100.
[0086] If the azimuth difference exceeds a first threshold or the pitch difference exceeds a second threshold, the terminal 100, upon receiving input from the user to adjust its attitude, can respond to this input by re-performing the satellite alignment operation and recalculating the pitch and azimuth differences. The terminal 100 can update the pitch and azimuth deviation values in the prompt information 903 displayed on the user interface 900. This alignment process can be repeated until the pitch difference is less than or equal to the second threshold and the azimuth difference is less than or equal to the first threshold. When the pitch difference is less than or equal to the second threshold and the azimuth difference is less than or equal to the first threshold, the terminal 100 can display the user interface 1000.
[0087] Figure 10 An example is shown of the user interface 1000 of terminal 100. For example... Figure 10As shown, the user interface 1000 provides a successful satellite alignment interface for the terminal 100. The user interface 1000 includes prompt messages 1001, 1002, and 1003. Prompt message 1001 informs the user that satellite alignment has been completed, but the user should maintain the current orientation to avoid affecting the transmission of the first data packet. Prompt message 1003 displays real-time data from the terminal 100 (e.g., signal strength received from the target satellite, azimuth deviation, etc.). Prompt messages 1001 and 1002 can be text-based. Prompt message 1001 could be: "Your phone is aligned with the target satellite. After feeling the vibration, you will be able to send and receive satellite SMS messages. Please maintain your orientation." Prompt message 1002 can include both image and text prompts. Prompt message 1002 includes a diagram showing the direction of the satellite antenna's radiation aligned with the target satellite after successful alignment.
[0088] Alternatively, in another possible implementation, the terminal may display a user interface for finding satellites after the user clicks on control 404 in folder 403 within user interface 400. See [reference needed] for details. Figures 7-10 The description in the text.
[0089] Optionally, the user can also view short messages with the contact "Xiaoming" by clicking on folder 403 in user interface 400. For example, as... Figure 11 As shown, the user can click on folder 403 in the user interface 400. When the terminal 100 detects the user click message 403, in response to the user operation, the terminal 100 can display the user interface 1200.
[0090] Figure 12 An example of a user interface 1200 of terminal 100 is shown. For example... Figure 12As shown, the user interface 1200 can be used to view short messages sent by the contact "Xiaoming" to the user of terminal 100, and to send satellite short messages to the contact "Xiaoming". The user interface 1200 may include controls 1201, text 1202, text 1203, text 1204, short message text 1205, text 1206, text 1207, control 1208, short message text 1209, text 1210, control 1211, input box 1212, control 1213, control 1214, and control 1215. Control 1201 is used to return to the previous interface. Text 1202 is used to display the contact's name (e.g., Xiaoming) and phone number (e.g., +86136****5678). Text 1203 is used to indicate that short message text 1205 is an SMS / MMS. Text 1204 is used to indicate that the sending date of short message text 1205 and short message text 1209 is "Today is Monday". The content of SMS text 1205 could be "I'm about to head to the snow." Text 1206 indicates the sending time of SMS text 1205 as "9:30 AM." Text 1207 indicates that SMS text 1209 is a satellite SMS. Control 1208 indicates the location information of terminal 100 when sending SMS text 1209. The content of SMS text 1209 could be "I'm on the snow mountain, requesting rescue." Text 1210 indicates the sending time of SMS text 1209 as "11:28 AM" and the sending status as "successfully sent." Control 1211 can be used to select images or videos as the content of a regular SMS message to send to a contact. Input box 1212 can be used to enter the text content of the regular SMS message to be sent. Control 1213 can be used to select emoticons as the content of a regular SMS message to send to a contact. Control 1214 triggers terminal 100 to send the edited regular SMS message to the contact. Control 1215 can be used to delete one or more short messages between the contact and the terminal 100, or to view the contact, or to add the contact to the blacklist, etc.
[0091] It is understood that, in this embodiment of the application, when a user clicks on a conversation in the satellite SMS folder in the conversation list interface (e.g., user interface 400), they enter the conversation content interface 1 (e.g., ... Figure 5 The user interface 500 shown allows users to view all short messages contained in a session on the session content interface 1, and also to send satellite short messages on the same interface. Users can access the session content interface 2 (e.g., by clicking on a session in the session list interface of the terminal 100) by clicking on a session. Figure 12 The user interface 1200 shown allows users to not only view all the short messages contained in the conversation in the conversation content interface 2, but also send regular text messages in the conversation content interface 2.
[0092] Alternatively, in other possible examples, the user clicks on a conversation in the satellite SMS folder in the conversation list interface (e.g., user interface 400) to enter the conversation content interface 1 (e.g., ... Figure 5 The user interface 500 shown allows users to view all short messages contained in the session in the session content interface 1, and also to send satellite short messages and regular text messages in the session content interface 1.
[0093] Furthermore, in one possible implementation, when terminal 100 is not camped on a cellular network and the satellite communication module is enabled, terminal 100 can send satellite short messages in the session content interface 1. When terminal 100 is camped on a cellular network, terminal 100 can send regular SMS messages in the session content interface 1.
[0094] Furthermore, in one possible implementation, when terminal 100 is not camped on a cellular network and the satellite communication module is enabled, terminal 100 searches for a connectable cellular network. After terminal 100 finds a connectable cellular network, terminal 100 connects to the cellular network and disables the satellite communication module.
[0095] In this embodiment, the user interface 400 may be referred to as the session list interface of the first application. It is understood that the name of the first application is not limited in this embodiment. The user interface 1200 may be referred to as the first user interface, and the user interface 600 may be referred to as the second user interface.
[0096] The exemplary terminal 100 provided in the embodiments of this application is described below.
[0097] Figure 13 This is a schematic diagram of the structure of the terminal 100 provided in the embodiments of this application.
[0098] The following description uses terminal 100 as an example to illustrate the embodiment. It should be understood that terminal 100 may have more or fewer components than shown in the figures, may combine two or more components, or may have different component configurations. The various components shown in the figures can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0099] Terminal 100 may include: processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, buttons 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0100] It is understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the terminal 100. In other embodiments of this application, the terminal 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0101] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0102] The controller can serve as the central nervous system and command center of the terminal 100. The controller can generate operation control signals based on the instruction opcode and timing signals to control the fetching and execution of instructions.
[0103] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0104] In some embodiments, the processor 110 may include one or more interfaces. 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.
[0105] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to the touch sensor 180K, charger, flash, camera 193, etc., through different I2C bus interfaces. For example, the processor 110 can couple to the touch sensor 180K through the I2C interface, enabling the processor 110 and the touch sensor 180K to communicate through the I2C bus interface, thereby realizing the touch function of the terminal 100.
[0106] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.
[0107] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0108] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface to enable music playback through Bluetooth headphones.
[0109] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to enable the shooting function of the terminal 100. The processor 110 and the display screen 194 communicate via the DSI interface to enable the display function of the terminal 100.
[0110] The GPIO interface is configurable via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera 193, a display screen 194, a wireless communication module 160, an audio module 170, a sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0111] The SIM interface can be used to communicate with the SIM card interface 195 to transmit data to or read data from the SIM card.
[0112] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge terminal 100, and can also be used for data transfer between terminal 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other terminals, such as AR devices.
[0113] It is understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are merely illustrative and do not constitute a structural limitation on the terminal 100. In other embodiments of this application, the terminal 100 may also adopt different interface connection methods or a combination of multiple interface connection methods as described in the above embodiments.
[0114] The charging management module 140 is used to receive charging input from the charger. The charger can be a wireless charger or a wired charger.
[0115] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, internal memory 121, external memory, display 194, camera 193, and wireless communication module 160, etc.
[0116] The wireless communication function of terminal 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0117] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0118] The mobile communication module 150 can provide solutions for wireless communication applications including 2G / 3G / 4G / 5G on the terminal 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low-noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via the antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to the modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via the antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0119] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.
[0120] The wireless communication module 160 can provide solutions for wireless communication applications on the terminal 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), satellite communication modules, frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0121] In this embodiment, terminal 100 can send and receive satellite SMS messages via a satellite communication module.
[0122] In some embodiments, antenna 1 of terminal 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling terminal 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology 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 the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0123] Terminal 100 implements display functions through a GPU, display screen 194, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0124] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Mini LED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, terminal 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0125] Terminal 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0126] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and color. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0127] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, terminal 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0128] A digital signal processor (DSP) is used to process digital signals. Besides digital image signals, it can also process other digital signals. For example, when terminal 100 selects a frequency point, the DSP can perform Fourier transforms on the frequency energy.
[0129] Video codecs are used to compress or decompress digital video. Terminal 100 may support one or more video codecs. Thus, terminal 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.
[0130] NPU stands for Neural Network (NN) Computing Processor. By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs can enable intelligent cognitive applications in terminals, such as image recognition, facial recognition, speech recognition, and text understanding.
[0131] The external storage interface 120 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the terminal 100. The external storage card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external storage card.
[0132] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of terminal 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as face recognition, fingerprint recognition, mobile payment, etc.). The data storage area may store data created during the use of terminal 100 (such as face information template data, fingerprint information template, etc.). In addition, internal memory 121 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0133] Terminal 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0134] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0135] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The terminal 100 can listen to music or make hands-free calls through the speaker 170A.
[0136] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the terminal 100 receives a phone call or voice message, the receiver 170B can be brought close to the listener's ear to receive the voice message.
[0137] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Terminal 100 may have at least one microphone 170C. In some embodiments, terminal 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, terminal 100 may have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0138] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0139] The pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, the command to view an SMS message is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, the command to create a new SMS message is executed.
[0140] The gyroscope sensor 180B can be used to determine the motion attitude of the terminal 100.
[0141] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.
[0142] The magnetic sensor 180D includes a Hall sensor. The terminal 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover. In some embodiments, when the terminal 100 is a flip phone, the terminal 100 can detect the opening and closing of the flip cover using the magnetic sensor 180D. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.
[0143] The accelerometer 180E can detect the magnitude of the acceleration of the terminal 100 in various directions (generally three axes).
[0144] A distance sensor 180F is used to measure distance. The terminal 100 can measure distance via infrared or laser. In some embodiments, during a shooting scene, the terminal 100 can utilize the distance sensor 180F to measure distance for rapid focusing.
[0145] The proximity light sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED.
[0146] The 180L ambient light sensor is used to detect ambient light intensity.
[0147] The fingerprint sensor 180H is used to collect fingerprints. The terminal 100 can use the characteristics of the collected fingerprints to unlock the device, access application locks, take photos with fingerprints, and answer calls with fingerprints.
[0148] The 180J temperature sensor is used to detect temperature.
[0149] Touch sensor 180K, also known as a "touch panel," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can then transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194.
[0150] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Terminal 100 can receive button input and generate key signal inputs related to user settings and function control of terminal 100.
[0151] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback.
[0152] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0153] The SIM card interface 195 is used to connect a SIM card. The terminal 100 interacts with the network through the SIM card to realize functions such as making calls and data communication.
[0154] In combination with the above Figures 3-12 The user interface shown and the hardware structure of terminal 100 are described below. A method for displaying short messages provided by this application embodiment is described in detail below. The method may include: terminal 100 sending or receiving a first short message via a cellular network; terminal 100 displaying the session information of the first short message in the session list interface of a first application; the first short message includes SMS, MMS, and rich media SMS; the session information of the first short message includes one or more of the following: contact information of the first short message, the time of receipt or sending of the first short message, and the content of the first short message; terminal 100 sending or receiving satellite short messages via a satellite network; terminal 100 displaying the session information of the satellite short message in the session list interface of a first application; the session information of the satellite short message includes one or more of the following: contact information of the satellite short message, the time of receipt or sending of the satellite short message, and the content of the satellite short message.
[0155] In this embodiment, sending a short message to a contact by the terminal 100 and receiving a short message from that contact are referred to as a session. A session may include one or more short messages exchanged between the terminal 100 and the same contact. In the short message application, a session list interface can be displayed, which can show one or more sessions. For example, Figure 4 The user interface 400 shown is the conversation list interface, which displays the conversation between terminal 100 and contact "Xiaoming". Figure 4 Message bar 407 in the message list can be considered a session. Users can click on this session to view all the short messages in that session.
[0156] Figure 14 This application illustrates a method for displaying short messages according to an embodiment of the present application. For example... Figure 14 As shown in the figure, a method for displaying short messages provided in this application embodiment may include the following steps:
[0157] S1401, Terminal 100 sends or receives a first short message through a cellular network, and Terminal 100 displays the session information of the first short message in the session list interface of the first application. The first short message includes SMS, MMS, and rich media SMS.
[0158] Terminal 100 can send or receive a first short message via a cellular network, and then terminal 100 can display the session information of the first short message in the session list interface of a first application. The first application can be an application used for sending and receiving short messages, for example, Figure 3 The information application shown is described. This application embodiment does not limit the specific name of the first application. The session list interface of the first application is used to display one or more sessions in the terminal 100. In this application embodiment, the session list interface can also be called a session interface, user interface, etc. This application embodiment does not specify the name of the interface in the first application used to display one or more sessions in the terminal 100. For example, the session list interface of the first application could be... Figure 4 The user interface 400 shown in the figure.
[0159] The session information of the first short message includes one or more of the following: the contact information of the first short message, the time of receiving or sending the first short message, and the content of the first short message.
[0160] Terminal 100 sends or receives a first short message via a cellular network. Terminal 100 displays the session information of the first short message in the session list interface of the first application, which may specifically include the following steps:
[0161] 1. Terminal 100 stores the content of the first short message sent or received through the cellular network in the first message content table, and stores the first session corresponding to the first short message in the first session table.
[0162] If the first short message is an SMS, then the first message content table is the SMS table, and the first session table is the SMS session table. That is, the terminal 100 stores the SMS sessions it sends or receives in the SMS session table; the terminal 100 stores the content of the SMS messages it sends or receives in the SMS table.
[0163] If the first short message is an MMS, then the first message content table is the MMS table, and the first session table is the MMS session table. That is, the terminal 100 stores the MMS sessions sent or received in the MMS session table; the terminal 100 stores the content of the MMS sent or received in the MMS table.
[0164] If the first short message is a rich media SMS, then the first message content table is the rich media SMS table, and the first session table is the rich media SMS session table. That is, the terminal 100 stores the rich media SMS sessions it sends or receives in the rich media SMS session table; the terminal 100 stores the content of the rich media SMS messages it sends or receives in the rich media SMS table.
[0165] In this embodiment, the satellite SMS session table stores one or more satellite SMS sessions in terminal 100 and the content of the most recent satellite SMS message in each session. The satellite SMS table stores the content of all satellite SMS messages in terminal 100. The SMS session table stores one or more SMS sessions in terminal 100 and the content of the most recent SMS message in each session. The SMS table stores the content of all SMS messages in terminal 100. The MMS session table stores one or more MMS sessions in terminal 100 and the content of the most recent MMS message in each session. The rich media SMS session table stores one or more rich media sessions in terminal 100 and the content of the most recent rich media SMS message in each session.
[0166] In some embodiments, the content of SMS messages and MMS messages can be stored in a message content table, and SMS sessions and MMS sessions can also be stored in a session table. That is, the SMS table and the MMS table can be the same message table, and the SMS session table and the MMS session table can also be the same session table.
[0167] For example, the formats of SMS tables, MMS tables, and rich media SMS tables can be as shown in Table 1 below.
[0168] Table 1
[0169]
[0170]
[0171] As shown in Table 1, the message content table for SMS, MMS, and rich media SMS messages can include relevant information about the message, such as message ID, session ID, message type (including send, receive, draft, queued, etc.), contact's mobile phone number, message body content, group message ID, message reception time, message sending status, message sending success time, whether the received message has been read, the index ID of the corresponding card in the terminal's system, whether the message failed to send, whether the message is in privacy mode, etc. If the message type of the message is send, then the message reception time and whether the received message has been read will be null values in the message content table. If the message type of the message is receive, then the message sending status and message sending success time will be null values in the message content table. If the message is not a group message, then the group message ID corresponding to the message can be null in the message content table.
[0172] It is understood that Table 1 above is only an example, and the message content table for SMS, MMS, rich media SMS and other short messages may include more or less relevant information about the short messages.
[0173] Understandably, when terminal 100 sends or receives a short message m1, terminal 100 can save the relevant information of short message m1 in the message content table corresponding to the short message. When terminal 100 receives a user operation to delete a sent or received short message m2, terminal 100 will delete the relevant information of short message m2 saved in the message content table, and update the conversation list interface corresponding to the first application of terminal 100, as well as the interface displaying the message content of short message m2. That is, when short message m2 is the most recent short message among multiple short messages between terminal 100 and contact Xiaoming, after terminal 100 deletes short message m2 based on the user operation, the conversation list interface corresponding to the first application of terminal 100 will no longer display the message content of short message m2, and the message content interface displaying the conversation with contact Xiaoming on terminal 100 will also no longer display the content of short message m2. When SMS m2 is the only SMS between terminal 100 and contact Xiaoming, after terminal 100 deletes SMS m2 based on user operation, the conversation list interface corresponding to the first application of terminal 100 will no longer display the conversation between terminal 100 and contact Xiaoming. Terminal 100 will also no longer display the message content interface showing the content of SMS m2.
[0174] Since satellite short messages can typically carry location information, the satellite short message table needs to be able to store this location information. For example, the format of the satellite short message table can be as shown in Table 2.
[0175] Table 2
[0176]
[0177]
[0178] As shown in Table 2, the satellite short message content table (i.e., the satellite short message table) can include relevant information about the satellite short message, such as message ID, session ID, satellite short message type (including emergency rescue service, location reporting service, message communication service, email service, etc.), message type (including send, receive, draft, queue, etc.), contact mobile phone number, short message body content, group message ID, short message reception time, short message sending status, short message sending success time, whether the received short message has been read, the index ID of the card corresponding to the short message in the terminal's system, whether the short message failed to be sent, geographical location longitude, geographical location latitude, whether the short message is in privacy mode, etc. If the message type of the short message is send, then the short message reception time and whether the received short message has been read will be null values in the message content table. If the message type of the short message is receive, then the short message sending status and short message sending success time will be null values in the message content table. If the short message is not a mass message, then the mass message ID corresponding to the short message in the message content table can be an empty value.
[0179] It is understandable that satellite short messages may or may not carry geographic location information. When a satellite short message carries geographic location information, the terminal 100 can store the longitude from the geographic location information carried in the satellite short message in the longitude column of the satellite short message table, and store the latitude from the geographic location information carried in the satellite short message in the latitude column of the satellite short message table. When a satellite short message does not carry geographic location information, when the terminal 100 stores the relevant information of the satellite short message in the satellite short message table, the corresponding geographic location longitude and latitude values and geographic location latitude values are empty values.
[0180] It is understood that Table 2 above is only an example, and the satellite short message table may include more or fewer satellite short message related information.
[0181] Understandably, when terminal 100 sends or receives a satellite short message smc1, terminal 100 can save the relevant information of satellite short message smc1 in the satellite short message table and update the satellite short message session table. When terminal 100 receives a user operation to delete a sent or received satellite short message smc2, terminal 100 will delete the relevant information of satellite short message smc2 stored in the message content table, and update the session list interface corresponding to the first application of terminal 100, as well as the interface displaying the message content of satellite short message smc2. That is, when satellite short message smc2 is the most recent short message among multiple short messages between terminal 100 and contact Xiaoming, after terminal 100 deletes satellite short message smc2 based on the user operation, the session list interface corresponding to the first application of terminal 100 will no longer display the message content of satellite short message smc2, and the message content interface displaying the session with contact Xiaoming on terminal 100 will also no longer display the content of satellite short message smc2. When satellite short message smc2 is the only short message between terminal 100 and contact Xiaoming, after terminal 100 deletes satellite short message smc2 based on user operation, the conversation list interface corresponding to the first application of terminal 100 will no longer display the conversation between terminal 100 and contact Xiaoming. Terminal 100 will also no longer display the message content interface showing the content of satellite short message smc2.
[0182] For example, the format of a satellite short message session table can be as shown in Table 3 below.
[0183] Table 3
[0184]
[0185] As shown in Table 3, the satellite SMS session table can store the session information for each session in the format shown in Table 3. For example, the session information for each session may include the session ID, the time of the last update of the session, the number of messages in the current session, the corresponding contact ID, the content of the most recently updated message, whether there are any unread messages, the number of SMS messages that failed to be sent, the number of unread SMS messages, etc.
[0186] It is understood that the format of the satellite short message session table shown in Table 3 above is only an example, and the satellite short message session table may include more or less session information.
[0187] For example, the formats of SMS conversation tables and MMS conversation tables can be as shown in Table 4 below.
[0188] Table 4
[0189]
[0190]
[0191] As shown in Table 4, the SMS conversation table and MMS conversation table can store the conversation information of each conversation in the format shown in Table 4. For example, the conversation information of each conversation may include the conversation ID, the time of the last update of the conversation, the number of messages in the current conversation, the corresponding contact ID, the content of the most recently updated message, whether there are any unread messages, whether the message was delivered, the message type, the number of SMS messages that failed to be sent, whether the MMS message has an attachment, the SIM card ID, the number of unread SMS messages, etc.
[0192] It is understood that the formats of the SMS conversation tables and MMS conversation tables shown in Table 4 above are merely examples, and the SMS conversation tables and MMS conversation tables may include more or less conversation information.
[0193] For example, the format of a rich media SMS conversation table can be as shown in Table 5 below.
[0194] Table 5
[0195]
[0196]
[0197] As shown in Table 5, the rich media SMS conversation table can store the conversation information of each conversation in the format shown in Table 5. For example, the conversation information of each conversation may include the conversation ID, the time of the last update of the conversation, the number of messages in the current conversation, the corresponding contact ID, the content of the most recently updated message, whether there are unread messages, whether the message was delivered, the message type, the number of SMS messages that failed to be sent, whether the MMS has attachments, the SIM card ID, etc.
[0198] It is understood that the format of the rich media SMS conversation table shown in Table 5 above is only an example, and the rich media SMS conversation table may include more or less conversation information.
[0199] It is understood that in this embodiment of the application, each type of SMS message corresponds to a session table. Even within a single session between terminal 100 and the same contact, the different types of SMS messages contained in that session will be stored by terminal 100 in the session table corresponding to each type of SMS message.
[0200] Based on the formats of satellite SMS conversation tables, SMS conversation tables, MMS conversation tables, and rich media SMS conversation tables shown in Tables 3, 4, and 5 above, the specific satellite SMS conversation tables, SMS conversation tables, MMS conversation tables, and rich media SMS conversation tables are illustrated below.
[0201] For example, the satellite short message session table can be found in Table 6 below.
[0202] Table 6
[0203]
[0204] In Table 6 above: rowid represents the row number, thread_id represents the session ID, date represents the last update time of the session, message_count represents the number of messages in the current session, recipient_ids represents the corresponding contact ID, snippet represents the content of the most recently updated message, read represents whether there are any unread messages, error represents the number of SMS messages that failed to be sent, and unread_count represents the number of unread SMS messages.
[0205] As shown in Table 6, the example of two satellite short message sessions stored in the satellite short message session table is illustrated below. The first satellite short message session in the table has row number "59", session ID "59", last update time "", which is a Unix timestamp representing "2021-12-17 09:45:13", current message count "1", contact ID "31", most recently updated message content "satellite short message text 1", unread message field "0" (indicating the session is "unread"), number of failed messages "0", and number of unread messages "1". Another satellite SMS session has a line number of "60" and a session ID of "60". The last update time of this session is "1639705313175", which is a Unix timestamp representing "2021-12-17 09:41:53". The current number of messages in the session is "1". The contact ID corresponding to this session is "32". The content of the most recently updated message in this satellite SMS session is "Satellite SMS text 2". The field for whether there are unread messages is "1" (indicating that the session in this satellite SMS session is "read"). The number of SMS messages that failed to be sent is "0", and the number of unread SMS messages is "0".
[0206] It is understandable that Satellite Short Message Text 1 or Satellite Short Message Text 2 could be as follows: Figure 4 The content of the most recently updated satellite SMS in the conversation between terminal 100 and contact Xiaoming shown is "I am on a snow mountain, requesting rescue". This embodiment of the application does not limit the specific content of satellite SMS text 1 and satellite SMS text 2 shown in Table 6.
[0207] It is understood that the satellite short message session table shown in Table 6 is only an example, and the embodiments of this application do not limit the number of satellite short message sessions stored in the satellite short message session table or the session information of the satellite short message sessions.
[0208] It is understandable that the session information and the number of sessions in the satellite SMS session table stored in the terminal are not fixed. That is, the session information and the number of sessions in the satellite SMS session table stored in the terminal will be updated as the terminal receives or sends satellite SMS messages.
[0209] For example, the SMS conversation table can be found in Table 7 below.
[0210] Table 7
[0211]
[0212] In Table 7 above: rowid represents the row number, thread_id represents the session ID, date represents the last update time of the session, message_count represents the number of messages in the current session, recipient_ids represents the corresponding contact ID, snippet represents the content of the most recently updated message, read represents whether there are any unread messages, archived represents whether the message has been delivered, type represents the message type, error represents the number of SMS messages that failed to be sent, has_attachment represents whether the MMS message has an attachment, sub_id represents the SIM card ID, and unread_count represents the number of unread SMS messages.
[0213] As shown in Table 7, the example of two SMS conversations stored in the SMS conversation table is illustrated below. The first SMS conversation in the table has row number "58", conversation ID "58", last update time "1639705623889" (Unix timestamp, representing "2021-12-17 09:47:03"), current message count "2", contact ID corresponding to this conversation "31", most recently updated message content "SMS text 1", unread message field "0" (indicating the conversation is "unread"), delivered field "0", message type field "0", number of failed SMS messages "1", MMS attachment field "0", SIM card ID field "0", and number of unread SMS messages "1". Another SMS session has a line number of "59", a session ID of "59", a last update time of "1639705282309", which is a Unix timestamp representing "2021-12-17 09:41:22", a current session message count of "1", a contact ID of "31", a message content of "SMS text 2" that was last updated in this SMS session, an unread message field of "1" (indicating that the session in this SMS session is "read"), a delivered message field of "0", a message type field of "0", a number of failed SMS messages of "0", an MMS attachment field of "0", a SIM card ID field of "0", and a number of unread SMS messages of "2".
[0214] It is understandable that SMS text 1 or SMS text 2 could be as follows: Figure 6 The content of SMS 605 in the conversation between terminal 100 and contact Xiaoming shown is "I'm getting ready to go to the snow mountain". This embodiment of the application does not limit the specific content of SMS text 1 and SMS text 2 shown in Table 7.
[0215] It is understood that the SMS conversation table shown in Table 7 is only an example, and the embodiments of this application do not limit the number of SMS conversations stored in the SMS conversation table or the conversation information of the SMS conversations.
[0216] It is understandable that the session information and the number of sessions in the SMS session table stored in the terminal are not fixed. That is, the session information and the number of sessions in the SMS session table stored in the terminal will be updated as the terminal receives or sends SMS messages.
[0217] For example, the MMS conversation table can be found in Table 8 below.
[0218] Table 8
[0219]
[0220] In Table 8 above: rowid represents the row number, thread_id represents the session ID, date represents the last update time of the session, message_count represents the number of messages in the current session, recipient_ids represents the corresponding contact ID, snippet represents the content of the most recently updated message, read represents whether there are any unread messages, archived represents whether the message has been delivered, type represents the message type, error represents the number of SMS messages that failed to be sent, has_attachment represents whether the MMS message is an attachment, sub_id represents the SIM card ID, and unread_count represents the number of unread SMS messages.
[0221] As shown in Table 8, the following example illustrates the MMS conversation table, which can store two MMS conversations. The first MMS conversation has a row number of "62", a conversation ID of "62", a last update time of "1639706737419" (a Unix timestamp representing "2021-12-17 10:05:37"), a current conversation message count of "1", a contact ID of "34", a recently updated message content of "MMS text 1", an unread message field of "0" (indicating the conversation is "unread"), a delivered message field of "0", a message type field of "0", a number of failed SMS messages of "0", a field indicating whether the MMS has an attachment of "0", a SIM card ID field of "0", and a number of unread SMS messages of "0". Another MMS session has a line number of "63", a session ID of "63", a last update time of "1639705642583", which is a Unix timestamp representing "2021-12-17 09:47:22", a current message count of "1", a contact ID of "35", a message content of "MMS text 2" that was last updated in this MMS session, an unread message field of "1" (indicating that the session in this MMS session is "read"), a delivered message field of "0", a message type field of "0", a number of failed SMS messages of "0", an MMS attachment field of "0", a SIM card ID of "0", and a number of unread SMS messages of "0".
[0222] It is understood that the embodiments of this application do not limit the specific content of MMS text 1 and MMS text 2 shown in Table 8.
[0223] It is understood that the MMS conversation table shown in Table 8 is only an example, and the embodiments of this application do not limit the number of MMS conversations stored in the MMS conversation table or the conversation information of the MMS conversations.
[0224] It is understandable that the session information and the number of sessions in the MMS session table stored in the terminal are not fixed. That is, the session information and the number of sessions in the MMS session table stored in the terminal will be updated as the terminal receives or sends MMS messages.
[0225] For example, a rich media SMS conversation table can be found in Table 9 below.
[0226] Table 9
[0227]
[0228] In Table 9 above: rowid represents the row number, thread_id represents the session ID, date represents the last update time of the session, message_count represents the number of messages in the current session, recipient_ids represents the corresponding contact ID, snippet represents the content of the most recently updated message, read represents whether there are any unread messages, type represents the message type, error represents the number of SMS messages that failed to be sent, has_attachment represents whether the MMS has an attachment, and sub_id represents the SIM card ID.
[0229] As shown in Table 9, the following example illustrates the process of storing two rich media SMS sessions in the rich media SMS session table. The first rich media SMS session has a row number of "59", a session ID of "59", a last update time of "1639705513808", which is a Unix timestamp representing "2021-12-17 09:45:13", a current session message count of "1", a contact ID of "31", a recently updated message content of "rich media SMS text 1", an unread message field of "1" (indicating that the session in this rich media SMS session is "read"), a message type field of "4", a number of failed SMS messages of "0", an MMS attachment field of "0", and a SIM card field of "0". Another rich media SMS session has a line number of "60", a session ID of "60", a last update time of "1639705313174", which is a Unix timestamp representing "2021-12-17 09:41:53", a current message count of "1", a contact ID of "32", a last updated message content of "rich media SMS text 2", an unread message field of "1" (indicating that the session in this MMS session is "read"), a message type field of "4", a number of failed SMS messages of "0", an MMS attachment field of "0", and a SIM card ID field of "0".
[0230] It is understood that the embodiments of this application do not limit the specific content of the rich media text message text 1 and rich media text message text 2 shown in Table 9.
[0231] It is understood that the rich media SMS conversation table shown in Table 9 is only an example, and the embodiments of this application do not limit the number of rich media SMS conversations stored in the rich media SMS conversation table, or the conversation information of the rich media SMS conversations.
[0232] It is understandable that the session information and the number of sessions in the rich media SMS session table stored in the terminal are not fixed. That is, the session information and the number of sessions in the rich media SMS session table stored in the terminal will be updated as the terminal receives or sends rich media SMS messages.
[0233] 2. Terminal 100 queries the SMS conversation table, MMS conversation table, satellite SMS conversation table, and rich media SMS conversation table stored in Terminal 100, determines that the first SMS message is the most recent SMS message in the first conversation, and displays the conversation information of the first SMS message in the conversation list interface of the first application.
[0234] In one possible implementation, terminal 100 queries the SMS session table, MMS session table, satellite session table, and rich media session table stored in terminal 100 to determine that the first short message is the most recent short message in the first session. Terminal 100 then displays the session information of the first short message in the session list interface of the first application, which may include the following steps:
[0235] A: Terminal 100 groups the conversations in the SMS conversation table, MMS conversation table, satellite SMS conversation table, and rich media SMS conversation table, and queries the conversations in each group respectively.
[0236] First, terminal 100 can group the conversations in the SMS conversation table, MMS conversation table, satellite SMS conversation table, and rich media SMS conversation table according to the following logic:
[0237] (1): Conversations containing only text messages;
[0238] (2): Sessions containing only MMS messages;
[0239] (3): Conversations containing only rich media text messages;
[0240] (4): Sessions containing only satellite short messages;
[0241] (5): A conversation that includes both SMS and MMS messages, but the most recent SMS message is an SMS message;
[0242] (6): A conversation that includes both SMS and MMS messages, but the most recent SMS message is an MMS message;
[0243] (7): A conversation that includes SMS and rich media SMS, but the most recent SMS is an SMS conversation;
[0244] (8): A conversation that includes SMS and rich media SMS, but the most recent SMS is a rich media SMS conversation;
[0245] (9): A conversation that includes both SMS and satellite SMS, but the most recent SMS is an SMS conversation;
[0246] (10): A session that includes both SMS and satellite SMS, but the most recent SMS is a satellite SMS;
[0247] (11): A conversation that includes MMS and rich media text messages, but the most recent text message is an MMS message;
[0248] (12): A conversation that includes MMS and rich media text messages, but the most recent text message is a rich media text message;
[0249] (13): A conversation that includes rich media text messages and satellite text messages, but the most recent text message is a rich media text message conversation;
[0250] (14): A conversation that includes rich media text messages and satellite text messages, but the most recent text message is a satellite text message;
[0251] (15): A conversation that includes SMS, MMS and rich media SMS, but the most recent SMS message is an SMS message;
[0252] (16): A conversation that includes SMS, MMS, and rich media SMS, but the most recent SMS is an MMS;
[0253] (17): A conversation that includes SMS, MMS and rich media SMS, but the most recent SMS is a rich media SMS conversation;
[0254] (18): A conversation that includes SMS, MMS and satellite SMS, but the most recent SMS is an SMS conversation;
[0255] (19): A conversation that includes SMS, MMS, and satellite SMS, but the most recent SMS is an MMS;
[0256] (20): A conversation that includes SMS, MMS and satellite SMS, but the most recent SMS is a satellite SMS conversation;
[0257] (21): A conversation that includes SMS, rich media SMS and satellite SMS, but the most recent SMS is an SMS;
[0258] (22): A conversation that includes SMS, rich media SMS and satellite SMS, but the most recent SMS is a rich media SMS;
[0259] (23): A conversation that includes SMS, rich media SMS and satellite SMS, but the most recent SMS is a satellite SMS conversation;
[0260] (24): A conversation that includes MMS, rich media SMS and satellite SMS, but the most recent SMS is an MMS conversation;
[0261] (25): A conversation that includes MMS, rich media SMS and satellite SMS, but the most recent SMS is a rich media SMS;
[0262] (26): A conversation that includes MMS, rich media SMS and satellite SMS, but the most recent SMS is a satellite SMS conversation;
[0263] (27): A conversation that includes SMS, MMS, rich media SMS and satellite SMS, but the most recent SMS is an SMS conversation;
[0264] (28): A conversation that includes SMS, MMS, rich media SMS, and satellite SMS, but the most recent SMS is an MMS;
[0265] (29): A conversation that includes SMS, MMS, rich media SMS and satellite SMS, but the most recent SMS is a rich media SMS conversation;
[0266] (30): A conversation that includes SMS, MMS, rich media SMS and satellite SMS, but the most recent SMS is a satellite SMS conversation.
[0267] In this way, terminal 100 can divide the sessions stored in all session tables in terminal 100 into multiple groups. It is understandable that the more session tables in terminal 100, the more session grouping results may be obtained.
[0268] For example, following the grouping logic described above, the conversations in the satellite SMS conversation table, SMS conversation table, MMS conversation table, and rich media SMS conversation table shown in Tables 6-9 can be divided into multiple groups:
[0269] (1): Sessions containing only SMS messages, i.e., the session with session ID 58 in Table 7;
[0270] (2): Sessions containing only MMS messages, namely the session with session ID 62 in Table 8 and the session with session ID 63;
[0271] (3): Sessions that only contain satellite SMS and rich media SMS, i.e., sessions with session ID 60 in Table 6 and Table 9;
[0272] (4): Sessions that only include satellite short messages, SMS messages and rich media SMS messages, i.e., sessions with session ID 59 in Tables 6, 7 and 9.
[0273] For example, the query statement used by terminal 100 to group sessions in different session tables in terminal 100 can be as follows:
[0274] select
[0275] thread_id,date,message_count,recipient_ids,snippet,snippet_cs,has_attachment,sub_id,network_type,unread_count,
[0276] case when priority=1then=0else priority end as priority,number_type,undeliveres_status,file_type,type,has_metioned_people
[0277] from(
[0278] selectthread_id,date,message_count,recipient_ids,snippet,snippet_cs,has_attachment,sub_id,network_type,unread_count,priority,number_type,0asundeliveres_status,0as file_type,1as thread_type,type,has_metioned_people
[0279] from threads_pub where recipient_ids not in(select recipient_ids fromrcs threads)
[0280] Here, `threads_pub` identifies the SMS and MMS session tables, filtered according to privacy controls. `rcs threads` represents the rich media SMS session table. The above query query indicates that it only contains SMS and MMS sessions, excluding rich media SMS sessions.
[0281] union
[0282] selectthread_id,date,message_count,recipient_ids,snippet,snippet_cs,read,error,has_attachment,sub_id,network_type,unread_count,priority,number_type,undeliveres_status,file_type,2as thread_type,type,has_metioned_people
[0283] from rcs threads where recipient_ids not in(select recipient_ids fromthreads_pub)
[0284] The above query indicates a session that includes only rich media SMS messages, but excludes SMS and MMS messages.
[0285] unionselect threads_pub_id as thread_id,threads_pub.date as date,(threads_pub.message_count+rcs_threads.message_count)as message count,threads_pub.recipient_ids as recipient_ids,threads_pub.snippet as snippet,threads_pub.snippet_cs as snippet_cs,threads_pub.read as read,threads_pub.error as error,threads_pub.has_attachment as has_attachment,threads_pub.sub_id as sub_id,threads_pub.network_type as network_type,(threads_pub.unread_count+rcs_threads.unread_count)as unread_count,threads_pub.priority as priority,threads_pub.number_type as number_type,0asundeliveres_status,0as file_type,1as thread_type,threads_pub.type as type,threads_pub.has_metioned_people as has_metioned_people from threads pub,rcsthreads where threads_pub.recipient_ids=rcs_threads.recipient_ids andthreads_pub.date>rcs_threads.date
[0286] The above query statement indicates that the session contains SMS, MMS and rich media SMS, but the last message in the session is an SMS or MMS.
[0287] unionselect rcs_threads.thread_id as thread_id,rcs_threads.date asdate,(threads_pub.message_count+rcs_threads.message_count)as message count,rcs_threads.recipient_ids as recipient_ids,rcs_threads.snippet as snippet,rcs_threads.snippet_cs as snippet_cs,rcs_threads.read as read,rcs_threads.error as error,rcs_threads.has_attachment as has_attachment,rcs_threads.sub_id as sub_id,rcs_threads.network_type as network_type,(threads_pub.unread_count+rcs_threads.unread_count)as unread_count,rcs_threads.priority as priority,rcs_threads.number_type as number_type,0asundeliveres_status,0as file_type,1as thread_type,rcs_threads.type as type,rcs_threads.has_metioned_people as has_metioned_people from threads pub,rcsthreads where threads_pub.recipient_ids=rcs_threads.recipient_ids andthreads_pub.date <rcs_threads.date
[0288] The above query query indicates that the session contains SMS, MMS and rich media SMS, but the last message in the session is a rich media SMS.
[0289] B: Terminal 100 merges sessions with the same ID from different session tables and arranges them in chronological order to obtain the merged session information.
[0290] Terminal 100 can merge sessions with the same ID from different session tables, for example, by summing the number of unread messages, the total number of messages, the number of failed messages, etc. It also sorts the times of sessions with the same ID in different session tables and selects the content of the message with the most recent time as the content of the most recently updated message in the merged session. In the merged session information, the session's most recently updated time (date) is the most recent time (closest to the current time) among multiple sessions with the same ID, and the snippet is the snippet corresponding to the most recent time among multiple sessions with the same ID. The number of unread messages, the total number of messages, and the number of failed messages are the sums of the number of unread messages, the total number of messages, and the number of failed messages among multiple sessions with the same ID, respectively.
[0291] For example, consider the session with session ID 59 shown in Tables 6-9 above. This session with session ID 59 includes three different sessions: satellite SMS, SMS, and rich media SMS. Terminal 100 can merge the sessions with session ID 59 from the satellite SMS session table, the SMS session table, and the rich media SMS session table to obtain a merged session with session ID 59.
[0292] C: Terminal 100 determines that the first short message is the most recent short message in the first session, and terminal 100 displays the session information of the first short message in the session list interface of the first application.
[0293] When the terminal 100 determines that the most recent short message in the first session after merging according to step B above is the first short message, the terminal 100 can confirm that the first short message is the most recent short message in the first session, and the terminal 100 displays the session information of the first short message in the session list interface of the first application.
[0294] The following explanation uses the example of the first short message being an SMS message. When terminal 100 sends or receives the first short message, it stores it in the SMS message table and updates the SMS conversation table. Then, terminal 100 needs to query each conversation table to see if the first conversation exists. Terminal 100 can query each conversation table according to the query logic shown in step A. When terminal 100 identifies the most recent short message in the merged first conversation (according to step B) as the first short message, it can confirm that the first short message is the most recent short message in the first conversation, and displays the conversation information of the first short message in the first application's conversation list interface.
[0295] In this embodiment, the larger the session table stored in the terminal 100 and the more sessions stored in each session table, the more complex the query becomes, which may lead to slower queries and fail to meet the performance requirements of SMS applications.
[0296] Optionally, in another possible implementation, the terminal 100 queries the SMS conversation table, MMS conversation table, satellite conversation table, and rich media conversation table stored in the terminal 100 to determine that the first short message is the most recent short message in the first conversation. The terminal 100 then displays the conversation information of the first short message in the conversation list interface of the first application, which may include the following steps:
[0297] A: Terminal 100 aggregates all sessions in the satellite short message session table, SMS session table, MMS session table, and rich media SMS session.
[0298] Terminal 100 aggregates all sessions from the satellite SMS session table, SMS session table, MMS session table, and rich media SMS session. If there are duplicate sessions among the aggregated sessions, Terminal 100 can delete the duplicate sessions.
[0299] B: Terminal 100 groups all sessions according to contact ID, groups sessions with the same contact ID into one group, extracts the most recently updated message content from multiple sessions with the same ID, and merges other session information to obtain merged session information.
[0300] Terminal 100 can group all sessions by contact ID, grouping sessions with the same contact ID into one group. Then, terminal 100 can take the content of the latest SMS message in each group's session as the session's latest update content. For example, terminal 100 can use the aggregation function MAX to obtain the maximum value of the date field of each group's session, and the SMS message content corresponding to the maximum value of the date field is the session's latest update content.
[0301] Furthermore, the terminal 100 can use the aggregation function SUM to sum the columns that need to be accumulated in the group (e.g., the number of current session messages, the number of unread messages, the number of failed short messages, etc.) and obtain the merged session information.
[0302] For example, terminal 100 can aggregate all sessions, group the sessions, and merge them using the following query statement.
[0303] select
[0304] thread_id, MAX(date) as date, SUM(message_count) as message_count, recipient_ids, snippet, snippet_cs, SUM(read) as read, SUM(error) as error, has_attachmen, sub_id, network_type, SUM(unread_count) as unread_count,
[0305] case when priority = 1 then 0 else priority end as priority, number_type, undeliveres_status, file_type, thread_type, type, has_metioned_people
[0306] from(
[0307] select thread_id, date, message_count, recipient_ids, snippet, snippet_cs, has_attachment, sub_id, network_type, unread_count, priority, number_type, 0 as undeliveres_status, 0 as file_type, 1 as thread_type, type, has_metioned_people
[0308] from threads_pub / / Fetch sessions from the SMS and MMS session table
[0309] union
[0310] select thread_id, date, message_count, recipient_ids, snippet, snippet_cs, has_attachment, sub_id, network_type, unread_count, priority, number_type, undeliveres_status, file_type, 2 as thread_type, type, has_metioned_people
[0311] from rcs_threads / / Retrieves sessions from the rich media SMS session table
[0312] union
[0313] selectthread_id,date,message_count,recipient_ids,snippet,0assnippet_cs,0as has_attachment,0as sub_id,0as network_type,unread_count,0as priority,0as number_type,0as undeliveres_status,0as file_type,2as thread_type,0astype,0as has_metioned_people
[0314] from smc_threads / / Retrieves sessions from the satellite short message session table
[0315] groupbyrecipient_ids / / Group by the recipient_ids field
[0316] `ORDER BY date DESC` / / Sorts the column containing the `date` field in descending order.
[0317] In the above query statements, `GROUP BY` performs a grouping operation, grouping data according to a specified field (e.g., `recipient_ids`). The `MAX()` function returns the maximum value of a specified column; in a grouping operation, it returns the maximum value within the group. The `SUM()` function returns the sum of a numeric column; in a grouping operation, it returns the sum of the numeric values within the group. `ORDER BY` sorts the data according to a specified column (DESC, descending order).
[0318] C: Terminal 100 determines that the first short message is the most recent short message in the first session, and terminal 100 displays the session information of the first short message in the session list interface of the first application.
[0319] When the terminal 100 determines the most recent short message in the first session after merging steps A and B as the first short message, the terminal 100 can confirm that the first short message is the most recent short message in the first session, and the terminal 100 displays the session information of the first short message in the session list interface of the first application.
[0320] like Figure 15As shown, the first application in terminal 100 can send a query statement to the database in terminal 100 to query specified data (such as session information of a certain session or the content of short messages contained in the session, etc.). The database can return the data to be merged and displayed as required by the query statement sent by the mergecursor module in the first application (such as the merged session information of the first session). Then, based on the obtained merged and displayed data, the first application displays the data in the user interface of the first application through the listview module and the adapter module. For example, the session information of the first short message is displayed in the session list interface of the first application.
[0321] S1402, Terminal 100 sends or receives satellite short message smc0 through the satellite network, and Terminal 100 displays the session information of satellite short message smc0 on the session list interface of the first application.
[0322] Terminal 100 sends or receives satellite short messages (smc0) via a satellite network. Terminal 100 displays the session information of the satellite short messages (smc0) in the session list interface of the first application, which may include the following steps:
[0323] 1. Terminal 100 stores the content of satellite short message smc0 sent or received through the satellite network in the satellite short message table, and stores the first satellite short message session corresponding to satellite short message smc0 in the satellite short message session table.
[0324] Here, please refer to the description in step S1401 above. The format of the satellite short message table can be found in Table 2, which will not be repeated here. The format of the satellite short message session table can be found in Table 3, and the format of the satellite short message session table can be found in Table 6, which will not be repeated here.
[0325] 2. Terminal 100 queries the SMS conversation table, MMS conversation table, satellite SMS conversation table, and rich media SMS conversation table stored in Terminal 100, determines that satellite SMS smc0 is the most recent SMS in the first satellite SMS conversation, and displays the conversation information of satellite SMS smc0 in the conversation list interface of the first application.
[0326] In one possible implementation, terminal 100 queries the SMS session table, MMS session table, satellite SMS session table, and rich media SMS session table stored in terminal 100 to determine that satellite SMS smc0 is the most recent SMS in the first satellite SMS session. Terminal 100 then displays the session information of satellite SMS smc0 in the session list interface of the first application, which may include the following steps:
[0327] A: Terminal 100 groups the conversations in the SMS conversation table, MMS conversation table, satellite SMS conversation table, and rich media SMS conversation table, and queries the conversations in each group respectively.
[0328] B: Terminal 100 merges sessions with the same ID from different session tables and arranges them in chronological order to obtain the merged session information.
[0329] C: Terminal 100 determines that satellite short message smc0 is the most recent short message in the first satellite short message session, and terminal 100 displays the session information of satellite short message smc0 in the session list interface of the first application.
[0330] Here, please refer to the description in step S1401, which will not be repeated here.
[0331] Optionally, in another possible implementation, terminal 100 queries the SMS session table, MMS session table, satellite session table, and rich media session table stored in terminal 100 to determine that satellite SMS smc0 is the most recent SMS message in the first satellite SMS session. Terminal 100 displays the session information of satellite SMS smc0 in the session list interface of the first application, which may include the following steps:
[0332] A: Terminal 100 aggregates all sessions in the satellite short message session table, SMS session table, MMS session table, and rich media SMS session.
[0333] Terminal 100 aggregates all sessions from the satellite SMS session table, SMS session table, MMS session table, and rich media SMS session. If there are duplicate sessions among the aggregated sessions, Terminal 100 can delete the duplicate sessions.
[0334] B: Terminal 100 groups all sessions according to contact ID, groups sessions with the same contact ID into one group, extracts the most recently updated message content from multiple sessions with the same ID, and merges other session information to obtain merged session information.
[0335] C: Terminal 100 determines that satellite short message smc0 is the most recent short message in the first satellite short message session, and terminal 100 displays the session information of the satellite short message in the session list interface of the first application.
[0336] When the terminal 100 determines that the most recent short message in the first satellite short message session after merging steps A and B as satellite short message smc0, the terminal 100 can confirm that satellite short message smc0 is the most recent short message in the first satellite short message session, and the terminal 100 displays the session information of satellite short message smc0 in the session list interface of the first application.
[0337] Please refer to the description in step S1401 for details, which will not be repeated here.
[0338] It is understood that steps S1401 and S1402 are not executed in any particular order; step S1401 can be executed before or after step S1402. When terminal 100 sends or receives satellite short messages via the satellite network, terminal 100 can display the session information of the satellite short message according to step S1402. When terminal 100 sends or receives short messages such as SMS, MMS, or rich media short messages via the cellular network, terminal 100 can display the session information of the short messages such as SMS, MMS, or rich media short messages according to step S1401.
[0339] Thus, using the method for displaying short messages provided in this application embodiment, the terminal can display satellite short messages and regular SMS messages in the same application.
[0340] Furthermore, terminal 100 can display one or more satellite short messages sent or received via satellite network in the session TH1 in the session content interface, as well as one or more first short messages sent or received via cellular network in the session TH1, the first short message including MMS, SMS, and rich media SMS.
[0341] The conversation content interface is used to display the content of one or more short messages contained in a conversation. For example, the conversation content interface can be as follows: Figure 6 The user interface 600 is shown. This user interface 600 displays the contents of multiple short messages from a conversation between terminal 100 and contact Xiaoming.
[0342] In one possible implementation, terminal 100 displays one or more satellite short messages sent or received via satellite network in session TH1, and displays one or more first short messages sent or received via cellular network in session TH1. The first short message includes MMS, SMS, and rich media SMS. This may include: terminal 100 querying the SMS table, MMS table, and rich media SMS and satellite short message table for short messages with the same session ID as the ID of session TH1; then, terminal 100 sorts the short messages retrieved from the SMS table, MMS table, and rich media SMS and satellite short message table according to the receiving or sending time of the short messages, and displays the sorted short messages in the session content interface.
[0343] For example, taking session TH1 with session ID 16 (i.e., thread_id = 16) as an example, the query statement used by terminal 100 to query the SMS table, MMS table, and rich media SMS and satellite SMS table for the SMS message with thread_id = 16 can be as follows:
[0344] select
[0345] transport_type,_id,thread_id,address,body,sub_id,date,date_sent,read,type,status,locked,error_code,recent_im,sub,sub_cs,date,date_sent,read,m_type,msg_box,d_rpt,rr,err_type,locked,st,network,text_only,date_favadd,origin_id,subject,service_center,addr_body,time_body,is_secret,risk_url_body,service_kind,enriched_calling_type,owner_addr,protocol,global_group_id
[0346] from(
[0347] select distinct date*1as normalized_date,’sms’as transport_type,_id,thread_id,address,body,sub_id,date,date_sent,read,type,status,locked,error_code,recent_im,null as sub,null as sub_cs,date,date_sent,read,null as m_type,null as msg_box,null as d_rpt,null as rr,null as err_type,locked,null as st,network,null as text_only,null as date_favadd,null as origin_id,subject,service_center,addr_body,time_body,is_secret,risk_url_body,null as service_kind,null as enriched_calling_type,null as owner_addr,null as protocol,nullas global_group_id
[0348] from sms where(((privacy_mode=0)and(thread_id=16))and((type != 3))) / / Retrieves the SMS message with session ID 16 from the SMS table.
[0349] union select distinct date*1as normalized_date,'smc'as transport_type,_id,thread_id,address,body,sub_id,date,date_sent,read,type,status,nullas locked,error_code,date,date_sent,read,null as m_type,null as msg_box,
[0350] from smc where(((privacy_mode=0)and(thread_id=16))and((type != 3))) / / Retrieves the satellite short message with session ID 16 from the satellite short message table.
[0351] union select distinct date*1as normalized_date,’chat’as transport_type,_id,thread_id,address,body,sub_id,date,date_sent,read,type,status,locked,error_code,null as recent_im,null as sub,null as sub_cs,date,date_sent,read,null as m_type,null as msg_box,null as d_rpt,null as rr,null aserr_type,locked,null as st,network,null as text_only,null as date_favadd,nullas origin_id,subject,service_center,null as addr_body,null as time_body,nullas is_secret,null as risk_url_body,service_kind,enriched_calling_type,owner_addr,null as protocol,global_group_id
[0352] from chat where(((privacy_mode = 0)and(thread_id = 16))and((type!= 3))) / / Retrieve rich media SMS messages with conversation ID 16 from the rich media SMS table
[0353] union select distinct date*1000as normalized_date,'mms'as transport_type,pdu._id,thread_id,address,body,sub_id,date,date_sent,read,type,status,locked,null as error_code,null as recent_im,sub,sub_cs,date,date_sent,read,m_type,msg_box,d_rpt,rr,err_type,locked,st,network,text_only,null as date_favadd,null as origin_id,null as subject,null as service_center,null as addr_body,null as time_body,null as is_secret,null as risk_url_body,null asservice_kind,null as enriched_calling_type,null as owner_addr,null asprotocol,null as global_group_id
[0354] from pdu leef join pending_msgs on pdu._id=pending_msgs.msg_id
[0355] where(((privacy_mode=0)and(thread_id=16))and((type!=3))
[0356] and
[0357] ((msg_box!=3and(m_type=128or m_type=132or m_type=130)))
[0358] / / Retrieve the MMS message with session ID 16 from the MMS table
[0359] `ORDER BY normalized_date ASC` / / This uses a union to combine query results and then sorts them in ascending order by time.
[0360] The above query statements query the SMS table, satellite SMS table, rich media SMS table, and MMS table respectively, then use UNION to merge the query results together, and finally sort them in ascending order by time.
[0361] The first application in the terminal (e.g., the SMS application), when parsing the dataset cursor returned by the database query, iterates through the message type corresponding to each record (the field `transport_type` indicates the message type; the query statement above has already specified the message type for each table: SMS, SMC, chat, PDU). Then, it displays the message type corresponding to the SMS message in the conversation content interface. For example, Figure 6 The text 607 “Satellite Short Message” shown is the same message type as the short message text 609.
[0362] In this embodiment, for newly created information in terminal 100, terminal 100 first calls the database interface to query whether this session exists, that is, to query whether the information of the current recipient exists in the database table. If it exists, terminal 100 can obtain the corresponding session ID, i.e., thread_id; if it does not exist, terminal 100 can query the maximum value of the current thread_id in the database, and then increment it to generate a new thread_id.
[0363] If a message is sent again in an existing session in terminal 100, terminal 100 can directly obtain the thread_id of the current session and use it as the thread_id of the current message.
[0364] In this way, the satellite short messages in the satellite short message table in terminal 100 are associated with the data in the SMS table, MMS table and rich media SMS table in terminal 100 through thread_id, ensuring that the conversation ID of terminal 100 is the same as that of the same contact.
[0365] When terminal 100 responds to a user's action to delete a short message, whether the message is deleted in the chat list interface or the chat content interface, terminal 100 will invoke the database to delete the message, thereby updating the corresponding message table and chat table. When the user views the chat list page or chat content interface of the first application again on terminal 100, terminal 100 will query the updated chat message table and chat table.
[0366] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0367] As used in the above embodiments, depending on the context, the term "when..." can be interpreted as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if (the stated condition or event) is interpreted as meaning "if determining...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)".
[0368] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.
[0369] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for displaying short messages, characterized in that, include: The terminal sends or receives the first short message via the cellular network; The terminal saves the content of the first short message in a first message content table and the session information of the first short message in a first session table, and updates the first session table. The session information of the first short message includes the contact information of the first short message. The terminal sends or receives a first satellite short message via a satellite network; The terminal saves the content of the first satellite SMS message in the satellite SMS message list and saves the session information of the first satellite SMS message in the satellite SMS message session list, and updates the satellite SMS message session list. The session information of the first satellite SMS message includes the contact information of the satellite SMS message. The terminal obtains the contact information contained in the first short message, and searches for the first session corresponding to the contact information in the short message session table based on the contact information. The short message session table includes a first session table and a satellite short message session table. The terminal determines that the first short message is the most recent short message in the first session, and displays the session information of the first short message in the session list interface of the first application; The terminal obtains the contact information contained in the first satellite short message, and searches for the satellite short message session corresponding to the contact information in the short message session table based on the contact information; The terminal determines that the first satellite SMS is the most recent SMS in the satellite SMS session, and displays the session information of the first satellite SMS in the session list interface of the first application.
2. The method according to claim 1, characterized in that, The session information of the first short message also includes one or more of the following: the time when the first short message was received or sent, and the content of the first short message; The session information of the first satellite short message may also include one or more of the following: the time of receiving or sending the first satellite short message, and the content of the first satellite short message.
3. The method according to claim 1, characterized in that, The method further includes: Based on the user's operation of viewing the first conversation between the terminal and the first contact in the conversation list interface of the first application, the terminal displays a first user interface, which includes the first short message and the second satellite short message.
4. The method according to claim 3, characterized in that, The first user interface further includes a first identifier and a second identifier. The first identifier is used to indicate the message type of the first short message. The second identifier is used to indicate the message type of the second satellite short message, an input box for entering the second short message, and a first control for sending the second short message. The second short message includes any one of SMS, MMS, and rich media SMS.
5. The method according to claim 4, characterized in that, The method further includes: Based on the user's action of clicking on the satellite SMS folder in the conversation list interface of the first application, the terminal displays the first conversation between the terminal and the first contact, and the first conversation includes satellite SMS. Based on the user's click on the first session, the terminal displays a second user interface, which includes the first short message and the second satellite short message, an input box for inputting satellite short messages, and a second control for sending satellite short messages.
6. The method according to claim 5, characterized in that, The method further includes: The terminal displays the text content of the third satellite short message entered by the user in the second user interface; Based on the user's click on the second control, the terminal sends the third satellite SMS to the first contact via the satellite network.
7. The method according to claim 1, characterized in that, The method further includes: The terminal displays the content of a third short message entered by the user in the third user interface, and based on the first user's operation, sends the third short message to a second contact via the cellular network. The third user interface is used to display one or more short messages contained in a second conversation between the terminal and the second contact; or, The terminal displays the content of the fourth satellite short message entered by the user in the third user interface, and sends the fourth satellite short message to the second contact via the satellite network based on the second user's operation.
8. The method according to claim 7, characterized in that, Sending the third SMS message to the second contact via the cellular network includes: When the terminal is residing on a cellular network, it sends the third short message to the second contact through the cellular network. Sending the fourth satellite short message to the second contact via the satellite network includes: When the terminal is not registered on the cellular network and the satellite communication module in the terminal is enabled, the terminal sends the fourth satellite short message to the second contact via the satellite network.
9. The method according to any one of claims 1-8, characterized in that, The terminal displays the session information of the first short message in the session list interface of the first application, including: The terminal obtains the first contact information contained in the first short message; The terminal searches for the first conversation corresponding to the first contact information in the SMS conversation table based on the first contact information. The SMS conversation table includes a first SMS conversation table and a satellite SMS conversation table. The first SMS conversation table includes one or more of the SMS conversation table, MMS conversation table, and rich media SMS conversation table. The terminal determines that the first short message is the most recent short message in the first session, and displays the session information of the first short message in the session list interface of the first application.
10. The method according to claim 9, characterized in that, The terminal searches for the first conversation corresponding to the first contact information in the SMS conversation table based on the first contact information. The SMS conversation table includes a first SMS conversation table and a satellite SMS conversation table, including: The terminal integrates N sessions from the first SMS session table and the satellite SMS session table, where N is an integer. The terminal determines the most recent short message in one or more of the N sessions that contain the first contact information.
11. The method according to any one of claims 1-8, characterized in that, The terminal displays the session information of the first short message in the session list interface of the first application, including: The terminal obtains the first contact information contained in the first short message; When the terminal does not find the session corresponding to the first contact information in the SMS session table and the SMS content table, the terminal generates a session ID for the first session and associates the session information of the first SMS with the session ID of the first session. The SMS session table includes a first SMS session table and a satellite SMS session table. The first SMS session table includes one or more of the SMS session table, MMS session table, and rich media SMS session table. The terminal stores the session ID of the first session and the session information of the first short message associated with the first session ID in the short message session table. The terminal determines that the first short message is the most recent short message in the first session, and displays the session information of the first short message in the session list interface of the first application.
12. The method according to claim 11, characterized in that, The SMS session table is used to store one or more SMS sessions; the MMS session table is used to store one or more MMS sessions; the rich media SMS session table is used to store one or more rich media SMS sessions; and the satellite SMS session table is used to store the one or more satellite SMS sessions.
13. The method according to claim 1, characterized in that, The terminal displays the satellite SMS session information in the session list interface of the first application, including: The terminal obtains the fourth contact information contained in the first satellite SMS message; The terminal searches for the first satellite SMS session corresponding to the fourth contact information in the SMS session table based on the fourth contact information. The SMS session table includes a first SMS session table and a satellite SMS session table. The first SMS session table includes one or more of the SMS session table, MMS session table, and rich media SMS session table. The terminal determines that the first satellite SMS message is the most recent SMS message in the first satellite SMS message session, and displays the session information of the first satellite SMS message in the session list interface of the first application.
14. The method according to any one of claim 12 or 13, characterized in that, The terminal includes a short message content table, which includes a text message table, a multimedia message table, a rich media text message table, and a satellite text message table. The SMS table is used to store the content of one or more SMS messages received or sent by the terminal, the sending or receiving time of one or more SMS messages, and the session ID of one or more SMS messages. The MMS table is used to store the content of one or more MMS messages received or sent by the terminal, the sending or receiving time of one or more MMS messages, and the session ID of one or more MMS messages. The rich media SMS table is used to store the content of one or more rich media SMS messages received or sent by the terminal, the sending or receiving time of one or more rich media SMS messages, and the session ID of one or more rich media SMS messages. The satellite short message table is used to store the content of one or more satellite short messages received or sent by the terminal, the sending or receiving time of one or more satellite short messages, and the session ID of one or more satellite short messages.
15. The method according to claim 12, characterized in that, The method further includes: The terminal, based on a third user operation, searches for one or more short messages corresponding to the fifth contact in the SMS table, MMS table, rich media SMS table, and satellite SMS table; the one or more short messages include: satellite SMS, SMS, MMS, and rich media SMS; the fifth user operation is used to view the fourth user interface, which is used to display one or more short messages contained in the conversation between the terminal and the fifth contact; The terminal determines the order in which the one or more short messages are sent or received; The terminal displays the one or more short messages on the fourth user interface based on the chronological order of their sending or receiving times.
16. A terminal, characterized in that, include: The device includes a display screen, one or more processors, and one or more memories; the one or more processors are coupled to the one or more memories and the display screen, the one or more memories being used to store computer program code, the computer program code including computer instructions, which, when executed by the one or more processors, cause the terminal to perform the method of displaying short messages as described in any one of claims 1-15.
17. A computer-readable storage medium, characterized in that, Includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method of displaying a short message as described in any one of claims 1-15.
Citation Information
Patent Citations
Device and method for multi-mode broadcast short message receiving
CN103152698A
Maritime communication system and method
CN104770053A