com.nttdocomo.system
クラス MessageReceived

Object
  拡張com.nttdocomo.system.Message
      拡張com.nttdocomo.system.MessageReceived
すべての実装インタフェース:
MailConstants

public final class MessageReceived
extends Message

ネイティブから取得したメッセージiアプリの受信メッセージを定義します。

MessageReceivedオブジェクトは、 MessageAgent.getMessage(int, int) メソッドにより取得される、 メッセージiアプリの受信メッセージを表します。

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

導入されたバージョン:
DoJa-3.0 (505i)
関連項目:
MessageAgent

フィールドの概要
 
インタフェース com.nttdocomo.system.MailConstants から継承したフィールド
ADDRESS_DOMAIN, ADDRESS_FULL, ADDRESS_USER, RECEIVED, SENT, UNSENT
 
メソッドの概要
 boolean[] canReply()
           差出人アドレスや自分以外の宛先アドレスが、 返信可能アドレスかどうかを返します。
 XString getFrom(int part)
           差出人アドレス(XString)を取得します。
 int[][] getPhoneBookID()
          差出人の電話帳エントリのIDを取得します。
 XString[] getRecipients(int part)
          宛先アドレス(XString配列)を取得します。
 String getSubject()
           サブジェクト(通常文字列)を取得します。
 boolean isSeen()
          既読・未読情報を返します。
 
クラス com.nttdocomo.system.Message から継承したメソッド
getBody, getData, getDateString, getDateString, getId, getType
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getSubject

public String getSubject()
サブジェクト(通常文字列)を取得します。

オーバーライド:
クラス Message 内の getSubject
戻り値:
サブジェクトを返します。 このメッセージが SMS である場合には、 文字列 "SMS" を返します。 このメッセージにサブジェクトが設定されていない場合には、 空文字列を返します。
[DoJa-5.1 (905i) 以降] このメッセージが CBS メッセージである場合には、 文字列 "エリアメール" を返します。 "エリアメール"は JIS X 0201 片仮名です。

getFrom

public XString getFrom(int part)

差出人アドレス(XString)を取得します。

このメッセージが SMS である場合には、 文字列 "XXXXXXXXXXX" が差出人アドレスとして 設定されているものとして扱われます。 ここで、「XXXXXXXXXXX」は発信者電話番号を表します。

[DoJa-5.0 (904i) 以降]
このメッセージが、ハイパーマルチ機能の付加アドレス宛 である場合には、 空文字列が差出人アドレスとして設定されているものとして扱われます。

[DoJa-5.1 (905i) 以降]
このメッセージが CBS メッセージである場合には、文字列 "エリアメール" が差出人アドレスとして設定されているものとして扱われます。 "エリアメール"は JIS X 0201 片仮名です。

パラメータ:
part - アドレス中の取得する部分を指定します。 ADDRESS_FULLADDRESS_USERADDRESS_DOMAIN のいずれかを指定します。
戻り値:
差出人アドレスを返します。
例外:
IllegalArgumentException - 引数 part の値が不正な場合に発生します。

getPhoneBookID

public int[][] getPhoneBookID()
差出人の電話帳エントリのIDを取得します。 このメッセージがSMS の場合には発信者電話番号が登録されている電話帳エントリの ID を、 そうでない場合には差出人のメールアドレスが登録されている電話帳エントリの ID を、それぞれ返します。

戻り値の配列を int[][] id とすると、 id[i][0] には、 i 番目に見つかった電話帳エントリ ID そのものが格納されています。

[DoJa-3.5 (900i、900iC)]
一方、 id[i][1] の意味は、 このメッセージがSMS かどうかによって異なります。

このメッセージがSMS の場合:
id[i][1] に格納されている値は機種依存です。
このメッセージがSMS 以外の場合:
id[i][1] には、 その電話帳エントリに登録されているメールアドレス中のインデックス値が格納されています。 すなわち、相手のメールアドレスは、
PhoneBook.getEntry(id[i][0]).getMailAddress(id[i][1], ADDRESS_FULL)
です。

[DoJa-4.0 (901i) 以降]
一方、id[i][1] には、 その電話帳エントリに登録されているメールアドレス中のインデックス値、 または、電話番号中のインデックス値のいずれかが格納されています。
メールアドレス中のインデックス値の場合:
インデックス値がそのまま格納されます(すなわち、 常に非負の値が格納されます)。
従って、相手のメールアドレスは、
PhoneBook.getEntry(id[i][0]).getMailAddress(id[i][1], ADDRESS_FULL)
です。
電話番号中のインデックス値の場合:
32 bit 符号付き整数(int 型)で表したインデックス値の上位 1 ビットを立てた値が格納されます(すなわち、常に負の値が格納されます)。
従って、相手の電話番号は、
PhoneBook.getEntry(id[i][0]).getPhoneNumber(id[i][1] & ‾0x80000000)
です。
同じエントリで、メールアドレスと電話番号の両方にマッチする場合、 両方のインデックス値を合わせて返すことはできません。 その場合、同じ電話帳エントリ ID を複数個返すことで 個別にインデックス値を返しますが、実際に複数個返すかどうかは機種依存です。 ただし、このメッセージがSMS の場合は電話番号のインデックス値を、 そうでない場合はメールアドレスのインデックス値を、 それぞれ最低 1 つは返すことは保証されています。

複数のエントリにマッチする場合、 そのすべてのエントリを返すかどうかは機種依存ですが、 少なくとも1つのエントリの情報を返します。

[DoJa-5.0 (904i) 以降]
このメッセージが、ハイパーマルチ機能の付加アドレス宛 である場合には、 電話帳エントリに登録されていないものとして扱われ、 常に null が返ります。

[DoJa-5.1 (905i) 以降]
このメッセージが CBS メッセージである場合には、 電話帳エントリに登録されていないものとして扱われ、 常に null が返ります。

戻り値:
相手の電話帳エントリIDを返します。 電話帳エントリに登録されていない場合、null を返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。

getRecipients

public XString[] getRecipients(int part)
宛先アドレス(XString配列)を取得します。
自分以外の宛先アドレスがない場合、null が返ります。

なお、「宛先アドレス」にはカーボンコピー(Cc)は含みません。 すなわち、Cc に指定されたアドレスは、 このメソッドを呼び出しても一切取得できません。

[DoJa-5.0 (904i) 以降]
このメッセージが、ハイパーマルチ機能の付加アドレス宛である場合、 自分以外の宛先アドレスは無いとみなされ、常に null が返ります。

[DoJa-5.1 (905i) 以降]
このメッセージが CBS メッセージである場合には、 自分以外の宛先アドレスは無いとみなされ、常に null が返ります。

パラメータ:
part - アドレス中の取得する部分を指定します。 ADDRESS_FULLADDRESS_USERADDRESS_DOMAIN のいずれかを指定します。
戻り値:
宛先アドレスを配列で返します。 自分以外の宛先アドレスがない場合、nullを返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。
例外:
IllegalArgumentException - 引数 part の値が不正な場合に発生します。

isSeen

public boolean isSeen()
既読・未読情報を返します。

戻り値:
既読の場合 true を、未読の場合 false を返します。

canReply

public boolean[] canReply()

差出人アドレスや自分以外の宛先アドレスが、 返信可能アドレスかどうかを返します。

このメソッドの戻り値の各要素には、 以下のアドレスについての情報が格納されています。

第 0 要素:
差出人アドレス(getFrom(int))。
第 1 要素以降:
自分以外の宛先アドレス(getRecipients(int))。 第 i 要素には、 getRecipients(PhoneBook.ADDRESS_FULL)[i - 1] で得られる宛先アドレスについての情報が格納されています。

それぞれの要素について、そのアドレスが壊れているなどの理由により、 そのまま返信アドレスとして使用することができない場合は false が格納されています。

このメッセージが SMS である場合、 第 0 要素に返信不可アドレスを示す false が指定されている長さ 1 の配列が常に返ります。

[DoJa-5.0 (904i) 以降]
このメッセージが、 ハイパーマルチ機能の付加アドレス宛 である場合、 第 0 要素に返信不可アドレスを示す false が指定されている長さ 1 の配列が常に返ります。

[DoJa-5.1 (905i) 以降]
このメッセージが CBS メッセージである場合には、 第 0 要素に返信不可アドレスを示す false が指定されている長さ 1 の配列が常に返ります。

戻り値:
各アドレスについて、それぞれ、 返信可能アドレスの場合は true、 返信不可アドレスの場合は false が格納された配列を返します。
導入されたバージョン:
DoJa-4.0 (901i)


NTT DOCOMO,INC.

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

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

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

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

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。