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、 既読・未読情報、 添付バイナリデータが設定されています。

導入されたバージョン:
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, getId, getType
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getSubject

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

オーバーライド:
クラス Message 内の getSubject
戻り値:
サブジェクトを返します。 このメッセージが SMS (FOMA 端末の場合) である場合には、 文字列 "SMS" を、 ショートメール(PDC 端末の場合) である場合には、 文字列 "iMS" を、それぞれ返します。 このメッセージにサブジェクトが設定されていない場合には、 空文字列を返します。

getFrom

public XString getFrom(int part)

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

このメッセージが SMS (FOMA 端末の場合)である場合には、 文字列 "XXXXXXXXXXX" が、 ショートメール(PDC 端末の場合)である場合には、 文字列 "XXXXXXXXXXX(ショートメール)" が、差出人アドレスとして、 それぞれ設定されているものとして扱われます。 ここで、「XXXXXXXXXXX」は発信者電話番号を表し、 "ショートメール"は 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.0 (505i、506i、506iC)、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つのエントリの情報を返します。

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

getRecipients

public XString[] getRecipients(int part)
宛先アドレス(XString配列)を取得します。
自分以外の宛先アドレスがない場合、null が返ります。 したがって、PDC 端末では常に null が返ります。

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

パラメータ:
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 が格納されています。

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