4.4. SMS Inbox

Even though a large number of today's mobile phones support various Internet protocols, from VoIP and instant messaging to HTTP, only SMS can guarantee smooth interoperability between all devices, including old models. It is reasonable to assume that every mobile phone user knows how to send and receive SMS messages. Because of this, SMS messages are still widely used to interact with various services, from buying bus tickets to television shows and online dating. Let your imagination free and come up with novel ways to use these services with Python!

You have already seen how to send SMS messages with the sms_send() function. In addition, PyS60 provides the Inbox object, part of the inbox module, that can be used to access messages in your phone's SMS inbox. The latest versions of PyS60 may include access to other SMS folders as well, such as the outbox for sent messages.

You can also define a callback function that is called when a new message is received. This powerful feature enables you to build SMS services of your own, or you can turn your phone into an SMS gateway that forwards received messages to a new phone number.

4.4.1. Accessing the SMS Inbox

Let's start with an example which shows five messages from your SMS inbox.

Example 4.6. SMS inbox
import inbox, appuifw
box = inbox.Inbox()
for sms_id in box.sms_messages () [:5]:
    msg = box.content(sms_id)
    appuifw.note(msg)

Besides the familiar appuifw module, which is needed for showing notes, we need to import ...

Get Mobile Python: Rapid Prototyping of Applications on the Mobile Platform now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.