com.nttdocomo.system
クラス MessageAgent

Object
  |
  +--com.nttdocomo.system.MessageAgent
すべての実装インタフェース:
MailConstants

public final class MessageAgent
extends Object
implements MailConstants

メッセージiアプリのネイティブ機能にアクセスする手段を提供します。

メッセージの取得および送信機能を提供します。 ネイティブデータへのアクセス機能およびそのXObjectとの関係の基本については、 XObjectクラスの説明を参照してください。

メッセージ機能では、 メッセージの取得や送信を行うクラスと メッセージそのものを表すクラスが区別されています。 このクラスはメッセージの取得や送信を行いますが、 メッセージそのものはMessageクラスのサブクラス またはMessageDraftクラスのオブジェクトとして表されます。

このメッセージiアプリに割り当てられた 受信フォルダ、送信フォルダ、未送信フォルダのみに対して、 メッセージの取得などの操作が可能です。 各フォルダ中のメッセージは、 送受信日時の新しい順にソートされており、 最新のメッセージが先頭にあります。
各メッセージにはそれぞれのフォルダ中で一意であり、 そのフォルダから削除されるまで変更されることのないIDが付与されています。 getIds(int, boolean)メソッドにより、 取得するフォルダを指定して、各メッセージのIDを取得することができます。 getMessage(int, int)メソッドにより、 取得するフォルダおよびメッセージのIDを指定して メッセージを取得することができます。

取得されたメッセージ(MessageReceivedまたは MessageSentオブジェクト)には、 サブジェクト(通常文字列)、 本文(通常文字列)、 送受信日時(通常文字列として取得可能)、 既読・未読情報、 宛先アドレス(通常文字列またはXString)、 差出人アドレス(XString)、 差出人アドレスの電話帳エントリのID、 添付バイナリデータが設定されています。

メッセージを送信するためには、 send(String, String[], String, byte[])メソッドまたは send(String, XString, String, byte[])メソッドを直接呼び出すか、 MessageDraftオブジェクトに対して宛先等を設定して send(MessageDraft)メソッドを呼び出します。 送信の成否にかかわらず、 送信に使用したMessageDraftオブジェクトの状態は変化しません。

MessageDraftクラスのコンストラクタ MessageDraft(Message, boolean)により、 受信フォルダから取得したメッセージから返信用メッセージを作ることができます。
また、同じくMessageDraftクラスのコンストラクタ MessageDraft(Message, boolean)により、 送信および未送信フォルダから取得したメッセージから 再送信用のメッセージを作ることができます。
送信および未送信フォルダから取得したメッセージは、 send(MessageSent)メソッドにより、 直接再送信することもできます。

空文字列の宛先アドレスは、不正であるとみなされます。

ミニマムスペック:

導入されたバージョン:
DoJa-3.0
関連項目:
Message, MessageSent, MessageReceived, MessageDraft

フィールドの概要
 
インタフェース com.nttdocomo.system.MailConstants から継承したフィールド
ADDRESS_DOMAIN, ADDRESS_FULL, ADDRESS_USER, RECEIVED, SENT, UNSENT
 
メソッドの概要
static void delete(int type, int id)
           メッセージを削除します。
static int[] getIds(int type, boolean unseen)
          メッセージフォルダ中のメッセージのIDを取得します。
static Message getMessage(int type, int id)
          メッセージを取得します。
static boolean isSeen(int id)
          受信メッセージの既読・未読情報を取得します。
static boolean send(MessageDraft message)
           メッセージを送信します。
static boolean send(MessageSent message)
           メッセージを再送信します。
static boolean send(String subject, String[] addresses, String body, byte[] data)
           メッセージを送信します。
static boolean send(String subject, XString address, String body, byte[] data)
           メッセージを送信します。
static void setMessageFolderListener(MessageFolderListener listener)
           メッセージフォルダのリスナを登録します。
static void setSeen(int id, boolean seen)
          受信フォルダのメッセージの既読・未読情報を設定します。
static int size(int type, boolean unseen)
          メッセージフォルダ中のメッセージの数を取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

size

public static int size(int type,
                       boolean unseen)
メッセージフォルダ中のメッセージの数を取得します。 受信フォルダに対しては、未読メッセージのみの数の取得が可能です。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 取得するメッセージのフォルダ種別を指定します。 RECEIVEDSENTUNSENT のいずれかを指定します。
unseen - 受信フォルダからのメッセージ数の取得において、 未読メッセージのみの数を取得する場合、true を指定します。 false を指定した場合には、すべてのメッセージの数が取得されます。 送信および未送信フォルダに対しては、この引数は無視されます。
戻り値:
フォルダ中のメッセージ数を返します。
例外:
IllegalArgumentException - 引数 type の値が不正な場合に発生します。
SecurityException - メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。

getIds

public static int[] getIds(int type,
                           boolean unseen)
メッセージフォルダ中のメッセージのIDを取得します。 受信フォルダに対しては、すべてのメッセージのIDの取得だけでなく、 未読メッセージのみのIDの取得が可能です。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 取得するメッセージのフォルダ種別を指定します。 RECEIVEDSENTUNSENT のいずれかを指定します。
unseen - 受信フォルダからのメッセージIDの取得において、 未読メッセージのみのIDを取得する場合、true を指定します。 false を指定した場合には、すべてのメッセージのIDが取得されます。 送信および未送信フォルダに対しては、この引数は無視されます。
戻り値:
フォルダ中のすべてのメッセージのIDを返します。 先頭から送受信日時の新しい順番に、 メッセージのIDが設定されています。 メッセージが存在しない場合には、長さ 0 の配列が返ります。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。
例外:
IllegalArgumentException - 引数 type の値が不正な場合に発生します。
SecurityException - メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。

getMessage

public static Message getMessage(int type,
                                 int id)
メッセージを取得します。

受信フォルダより取得されたメッセージ (MessageReceivedオブジェクト)には、 サブジェクト(通常文字列)、 本文(通常文字列)、 受信日時(通常文字列として取得可能)、 既読・未読情報、 宛先アドレス(XString)、 差出人アドレス(XString)、 差出人アドレスの電話帳エントリのID、 添付バイナリデータが設定されています。

送信および未送信フォルダより取得されたメッセージ (MessageSentオブジェクト)には、 サブジェクト(通常文字列)、 本文(通常文字列)、 送信日時(通常文字列として取得可能)、 宛先アドレス(通常文字列またはXStringまたはXStringの配列)、 添付バイナリデータが設定されています。

このメソッドによりメッセージを取得しても、既読・未読情報は変化しません。 既読・未読情報を変更するためには、 setSeenメソッドを使用します。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 取得するメッセージのフォルダ種別を指定します。 RECEIVEDSENTUNSENT のいずれかを指定します。
id - 取得するメッセージのIDを指定します。
戻り値:
取得したメッセージを返します。
例外:
IllegalArgumentException - 引数 type の値が不正な場合に発生します。
IllegalArgumentException - 引数 id に指定したIDのメッセージが存在しない場合に発生します。
SecurityException - メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。

send

public static boolean send(String subject,
                           String[] addresses,
                           String body,
                           byte[] data)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを送信します。 宛先アドレスを除く各引数には、 nullや長さ0の配列を指定することができます。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。 宛先が複数の場合、いずれかの宛先へのメッセージの送信に失敗した場合、 その失敗の原因に応じて例外を発生またはfalseを返します。 すべての宛先への送信が成功した場合、true を返します。

[DoJa-3.5]
メッセージフォルダのリスナが登録されている場合は、 送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
subject - サブジェクト(通常文字列)を指定します。
addresses - 宛先アドレス(通常文字列)を配列で指定します。
body - 本文(通常文字列)を指定します。
data - メッセージiアプリ固有のバイナリデータを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
NullPointerException - 引数 addresses が null または、 配列中に null の要素があった場合に発生します。
IllegalArgumentException - 端末がサポートしている数以上のメールアドレスを指定した場合に 発生します。
IllegalArgumentException - 引数 subject、addresses、body, dataの内容のいずれかが、 メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。
IllegalArgumentException - メッセージ全体のサイズが メッセージiアプリのメッセージの仕様に準拠しない場合に発生します。
SecurityException - ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException - 送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します(STORE_FULL)。
MailException - User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException - 競合条件などにより、送信操作が異常終了した場合に発生します。

send

public static boolean send(String subject,
                           XString address,
                           String body,
                           byte[] data)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを送信します。 宛先アドレスを除く各引数には、 nullや長さ0の配列を指定することができます。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。 宛先が複数の場合、いずれかの宛先へのメッセージの送信に失敗した場合、 その失敗の原因に応じて例外を発生またはfalseを返します。 すべての宛先への送信が成功した場合、true を返します。

[DoJa-3.5]
メッセージフォルダのリスナが登録されている場合は、 送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
subject - サブジェクト(通常文字列)を指定します。
address - 宛先アドレス(XString)を指定します。
body - 本文(通常文字列)を指定します。
data - メッセージiアプリ固有のバイナリデータを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
NullPointerException - 引数 address が null の場合に発生します。
IllegalArgumentException - 引数 subject、address、body, dataの内容のいずれかが、 メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。
IllegalArgumentException - メッセージ全体のサイズが メッセージiアプリのメッセージの仕様に準拠しない場合に発生します。
SecurityException - ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException - 送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します(STORE_FULL)。
MailException - User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException - 競合条件などにより、送信操作が異常終了した場合に発生します。

send

public static boolean send(MessageDraft message)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを送信します。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。 宛先が複数の場合、いずれかの宛先へのメッセージの送信に失敗した場合、 その失敗の原因に応じて例外を発生またはfalseを返します。 すべての宛先への送信が成功した場合、true を返します。

[DoJa-3.5]
メッセージフォルダのリスナが登録されている場合は、 送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
message - 送信するメッセージを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
NullPointerException - 引数 message が null の場合に発生します。
IllegalArgumentException - 送信するメッセージの宛先アドレスが指定されていない場合に 発生します。
IllegalArgumentException - メッセージ全体のサイズが メッセージiアプリのメッセージの仕様に準拠しない場合に発生します。
SecurityException - ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException - 送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します(STORE_FULL)。
MailException - User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException - 競合条件などにより、送信操作が異常終了した場合に発生します。

send

public static boolean send(MessageSent message)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを再送信します。 送信および未送信フォルダから取得したメッセージを再送信します。
送信フォルダから取得したメッセージを再送信する場合は、 元の送信メッセージを残したまま、同じ内容のメールを新規に送信します。 一方、未送信フォルダから取得したメッセージを再送信する場合は、 元の未送信メッセージを削除して、同じ内容のメールを新規に送信します。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。 宛先が複数の場合、いずれかの宛先へのメッセージの送信に失敗した場合、 その失敗の原因に応じて例外を発生またはfalseを返します。 すべての宛先への送信が成功した場合、true を返します。

[DoJa-3.5]
メッセージフォルダのリスナが登録されている場合は、 再送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
message - 送信するメッセージを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
NullPointerException - 引数 message が null の場合に発生します。
IllegalArgumentException - 引数 message のメッセージのサブジェクト、宛先アドレス、 ボディ、メッセージiアプリ固有のバイナリデータの内容のいずれかが メッセージiアプリのメッセージの仕様に準拠しない場合に発生します。
IllegalArgumentException - メッセージ全体のサイズがメッセージiアプリのメッセージの仕様に準拠しない場合に発生します。
SecurityException - ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException - 送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します(STORE_FULL)。
MailException - User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException - 競合条件などにより、送信操作が異常終了した場合に発生します。

delete

public static void delete(int type,
                          int id)

メッセージを削除します。

[DoJa-3.5]
メッセージフォルダのリスナが登録されている場合は、 削除したメッセージのフォルダに応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 削除するメッセージのフォルダ種別を指定します。 RECEIVEDSENTUNSENT のいずれかを指定します。
id - 削除するメッセージのIDを指定します。
例外:
IllegalArgumentException - 引数 type の値が不正な場合に発生します。
IllegalArgumentException - 引数 id に指定したメッセージが存在しない場合に発生します。
SecurityException - メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。
SecurityException - ネイティブの保護機能により、 メッセージが削除できない場合に発生します。

setSeen

public static void setSeen(int id,
                           boolean seen)
受信フォルダのメッセージの既読・未読情報を設定します。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。

パラメータ:
id - 受信メッセージのIDを指定します。
seen - 指定されたIDのメッセージが存在した場合、 true を指定するとそのメッセージが未読状態ならば既読状態になります。 同じく指定されたIDのメッセージが存在した場合、 false を指定しても状態は変更されません。
例外:
IllegalArgumentException - 引数 id に指定したメッセージが存在しない場合に発生します。
SecurityException - メールロックにより、 受信フォルダへのアクセスが拒否された場合に発生します。

isSeen

public static boolean isSeen(int id)
受信メッセージの既読・未読情報を取得します。

パーミッションとしてメッセージiアプリが許可されている トラステッドiアプリのみこのメソッドを呼び出すことができます。

パラメータ:
id - 受信メッセージのIDを指定します。
戻り値:
既読の場合 true を、未読の場合 false を返します。
例外:
IllegalArgumentException - 引数 id に指定したIDのメッセージが存在しない場合に発生します。
SecurityException - メールロックにより、 受信フォルダへのアクセスが拒否された場合に発生します。

setMessageFolderListener

public static void setMessageFolderListener(MessageFolderListener listener)
メッセージフォルダのリスナを登録します。 登録できるリスナは1つだけです。 このメソッドを複数回呼出した場合は最後に登録したリスナだけが有効です。 リスナオブジェクトとして null を指定するとリスナの登録を解除します。

パラメータ:
listener - 登録するリスナオブジェクトを指定します。
導入されたバージョン:
DoJa-3.5


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。