次に示すのは、SMS (Short Message Service) を利用してメッセージを送信する例です。
import android droid = android.Android() droid.smsSend("1234567890", "Hello, SL4A")
smsSend() の引数は順に、送信先の電話番号、メッセージ文字列です。
メッセージを取得するためにはメッセージ属性を指定する必要があります。 smsGetAttributes() を呼び出すと、指定可能な属性のリストを取得することができます。
import android droid = android.Android() attributes = droid.smsGetAttributes() for i in attributes.result: print i
主な属性をいくつか示します。
| 属性 | 説明 |
| _id | メッセージ ID |
| address | 電話番号 |
| date | 日時 |
| read | 既読フラグ |
| body | メッセージ本文 |
smsGetMessages() を呼び出すと、メッセージ情報を取得することができます。 次に示すのは、全メッセージの電話番号とメッセージ本文を取得する例です。
import android droid = android.Android() messages = droid.smsGetMessages(False, "inbox", ["address", "body"]) for i in messages.result: print i["address"].encode("utf-8") print i["body"].encode("utf-8")
smsGetMessages() の引数は順に、未読メッセージのみを取得するかどうかのフラグ、フォルダ名、属性のリストで、第2、第3引数は省略可能です。 第2引数を省略した場合はデフォルトフォルダとして "inbox" を使用し、 第3引数を省略した場合は ["_id", "address", "date", "read", "body"] を使用します。
特定のメッセージ情報を取得するためにはメッセージ ID を指定する必要があります。 smsGetMessageIds() を呼び出すと、メッセージ ID のリストを取得することができます。 次に示すのは、全メッセージのメッセージ ID を取得する例です。
import android droid = android.Android() ids = droid.smsGetMessageIds(False) for i in ids.result: print i
smsGetMessageIds() の引数は順に、未読メッセージのみを取得するかどうかのフラグ、フォルダ名で、第2引数は省略可能です。 第2引数を省略した場合はデフォルトフォルダとして "inbox" を使用します。
smsGetMessageById() を呼び出すと、指定したメッセージ ID のメッセージ情報を取得することができます。 次に示すのは、メッセージ ID が 1 の電話番号とメッセージ本文を取得する例です。
import android droid = android.Android() message = droid.smsGetMessageById(1, ["address", "body"]).result print message["address"].encode("utf-8") print message["body"].encode("utf-8")
smsGetMessageById() の引数は順に、メッセージ ID、属性のリストで、第2引数は省略可能です。 第2引数を省略した場合は ["_id", "address", "date", "read", "body"] を使用します。
smsGetMessageCount() を呼び出すと、メッセージ数を取得することができます。 次に示すのは、未読メッセージ数を取得する例です。
import android
droid = android.Android()
print droid.smsGetMessageCount(True).result
smsGetMessageCount() の引数は順に、未読メッセージのみを取得するかどうかのフラグ、フォルダ名で、第2引数は省略可能です。 第2引数を省略した場合はデフォルトフォルダとして "inbox" を使用します。
smsMarkMessageRead() を呼び出すと、メッセージの未読/既読を切り替えることができます。 次に示すのは、メッセージ ID が 1 と 2 のメッセージを未読に切り替える例です。
import android
droid = android.Android()
droid.smsMarkMessageRead([1, 2], False)
smsMarkMessageRead() の引数は順に、メッセージ ID のリスト、既読にするかどうかのフラグです。
次に示すのは、メッセージを削除する例です。
import android
droid = android.Android()
droid.smsDeleteMessage(0)
smsDeleteMessage() の引数はメッセージ ID です。