|
NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectcom.docomo_um.module.net.ShortMessageManager
public class ShortMessageManager
ショートメッセージ(SMS・CBS・ETWS)操作管理クラスです。
メッセージの種類は3つあり、メッセージの種類毎にそのメッセージを扱うためのメッセージボックスがあります。 メッセージボックスは以下になります。
ShortMessageBox)
SMSメッセージの送受信用のメッセージボックスです。SMSの送信メッセージと受信メッセージはそれぞれモジュール本体またはUIMに保存することが出来ます。
送信メッセージと受信メッセージの保存領域を変更するには、ShortMessageBox.setStorage(String, String)を使用します。
送信メッセージと受信メッセージには、別々の保存領域を割り当てることも、同じ保存領域を割り当てることも可能です。
AreaMailBox)エリアメールの受信専用のメッセージボックスです。エリアメールの受信メッセージはモジュール本体に保存されます。 ただし、日本語文字コードと英語文字コード(UCS2とGSM7)以外で記述されたメッセージは破棄します。
SMSStatusReportBox)SMSステータスレポートの受信専用のメッセージボックスです。SMSステータスレポートの受信メッセージはモジュール本体に保存されます。
全てのメッセージボックスに保存されているメッセージはメッセージ番号で管理されています。
メッセージが保存された時点で、そのメッセージに対してメッセージ番号が付与されます。
付与されたメッセージ番号は全てのボックスで固有であり、全てのボックスのメッセージを一意に識別することができます。
メッセージ番号はメッセージが削除されるまで保持され続けます。メッセージの削除により、他のメッセージ番号が変更されることはありません。
また、削除されたメッセージ番号は再利用されます。
メッセージを削除した後にメッセージを保存した場合に、同一の番号が付与されることもありますので、ご注意ください。
メッセージ番号は、メッセージの保存領域と、その領域内のメッセージを一意に識別するインデックスで構成されています。
メッセージの保存領域は次の4つがあります。
留意事項
システムからのメッセージ受信通知を検知するために、setShortMessageListener(ShortMessageListener)メソッドを呼び出してリスナを登録する必要があります。
リスナが登録されていない状態でメッセージ受信が発生した場合、システムはアプリケーションにメッセージ受信を通知しませんが、
システムはメッセージを受信して保存領域に受信したメッセージを保存します。
SMS、SMSステータスレポートのメッセージ受信において、保存領域に空きがない場合、
最も古い既読(ShortMessage.STAT_READ)メッセージを上書きしてメッセージを受信します。
この場合、上書きされた古いメッセージのメッセージ番号が上書きした新しいメッセージのメッセージ番号として再利用されます。
但し、保存領域に空きが無く、且つ、保存されているすべてのメッセージが既読(ShortMessage.STAT_READ)以外の場合、
システムはSMS、SMSステータスレポートのメッセージ受信を拒否し、メッセージはセンターで一定期間保管された後、削除されます。
また、保存領域がUIMで、保存領域に空きが無い場合は、保存されているメッセージの状態に関係なく、
システムはSMSのメッセージ受信を拒否し、メッセージはセンターで一定期間保管された後、削除されます。
なおシステムがメッセージの受信を拒否した場合には、ShortMessageListener.onSMSBoxFull(MessageBox)がコールされます。
センターでメッセージを保管している間に保存領域に空きができるか、
または、任意のメッセージが既読(ShortMessage.STAT_READ)に変化すると、システムはメッセージを受信します。
エリアメール(CBS/ETWS)受信において、メッセージの受信が拒否されることはありません。
保存領域に空きが無い状態でエリアメール(CBS/ETWS)を受信すると、既読メッセージがある場合は既読メッセージ内の最も古いメッセージを上書きします。未読メッセージのみの場合は未読メッセージの最も古いメッセージを上書きします。
この場合、上書きされた古いメッセージのメッセージ番号が上書きした新しいメッセージのメッセージ番号として再利用されます。
| フィールドの概要 | |
|---|---|
static java.lang.String |
FORMAT_PDU
メッセージ形式の一つとして、PDUモードを表します。 |
static java.lang.String |
FORMAT_TEXT
メッセージ形式の一つとして、テキストモードを表します。 |
| メソッドの概要 | |
|---|---|
AreaMailBox |
getAreaMailBox()
エリアメールボックスのインスタンスを取得します。 |
static ShortMessageManager |
getInstance()
ショートメッセージ操作管理クラスのインスタンスを生成します。 |
java.lang.String |
getMessageFormat()
システムで使用するメッセージ形式を取得します。 |
ShortMessageBox |
getShortMessageBox()
ショートメッセージボックスのインスタンスを取得します。 |
SMSStatusReportBox |
getSMSStatusReportBox()
SMSステータスレポートボックスのインスタンスを取得します。 |
void |
setMessageFormat(java.lang.String format)
システムで使用するメッセージ形式を設定します。 |
void |
setShortMessageListener(ShortMessageListener listener)
リスナを登録します。 |
void |
setSMSCenterNumber(java.lang.String sca,
java.lang.String tosca)
センター番号を設定します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait |
| フィールドの詳細 |
|---|
public static final java.lang.String FORMAT_TEXT
setMessageFormat(String),
getMessageFormat(),
定数フィールド値public static final java.lang.String FORMAT_PDU
setMessageFormat(String),
getMessageFormat(),
定数フィールド値| メソッドの詳細 |
|---|
public static ShortMessageManager getInstance()
このメソッドを複数回呼び出した場合には、同一インスタンスを返します。
public ShortMessageBox getShortMessageBox()
このメソッドを複数回呼び出した場合には、同一インスタンスを返します。
本メソッドで取得するインスタンスは、ShortMessageListener.onSMSReceived(MessageBox, int, boolean)、
またはShortMessageListener.onSMSBoxFull(MessageBox)の引数に設定されるMessageBoxのインスタンスと同一のインスタンスです。
public AreaMailBox getAreaMailBox()
このメソッドを複数回呼び出した場合には、同一インスタンスを返します。
public SMSStatusReportBox getSMSStatusReportBox()
このメソッドを複数回呼び出した場合には、同一インスタンスを返します。
本メソッドで取得するインスタンスは、ShortMessageListener.onSMSReceived(MessageBox, int, boolean)、
またはShortMessageListener.onSMSBoxFull(MessageBox)の引数に設定されるMessageBoxのインスタンスと同一のインスタンスです。
public void setShortMessageListener(ShortMessageListener listener)
このインスタンスに登録できるリスナは1つだけです。 このメソッドを複数回呼出した場合、最後に登録したリスナだけが有効です。 null を指定すると、リスナの登録を削除します。
listener - リスナを指定します。
public void setMessageFormat(java.lang.String format)
throws DeviceException,
ShortMessageException
FORMAT_TEXTです。
本メソッドで設定した形式は、ShortMessageインスタンス生成時に反映されます。
ShortMessageインスタンス生成後に当該インスタンスの形式を変更することはできません。
具体的には、本メソッドで設定した形式は以下に適用されます。
MessageBoxからメッセージを取得する場合ShortMessageインスタンスを生成する場合
format - メッセージ形式を指定します。
java.lang.NullPointerException - formatにnullを指定した場合に発生します。
java.lang.IllegalArgumentException - 不正なformatを指定した場合に発生します。
DeviceException - デバイスの故障により、メッセージ形式の設定に失敗した場合に発生します。
ShortMessageException - 内部エラーにより処理が中断した場合に発生します。FORMAT_PDU,
FORMAT_TEXT,
ShortMessage.getFormat()
public java.lang.String getMessageFormat()
throws DeviceException,
ShortMessageException
DeviceException - デバイスの故障により、メッセージ形式の取得に失敗した場合に発生します。
ShortMessageException - 内部エラーにより処理が中断した場合に発生します。FORMAT_PDU,
FORMAT_TEXT
public void setSMSCenterNumber(java.lang.String sca,
java.lang.String tosca)
throws DeviceException,
ShortMessageException
sca - SMSセンター番号を指定します。tosca - 国際アクセスコードを指定します。
java.lang.NullPointerException - sca または tosca がnullの場合に発生します。
java.lang.IllegalArgumentException - 不正なsca または不正なtoscaを指定した場合に発生します。
DeviceException - デバイスの故障により、センター番号の設定に失敗した場合に発生します。
ShortMessageException - 内部エラーにより処理が中断した場合に発生します。
|
Copyright © 2013 NTT DOCOMO, INC. and Hitachi Kokusai Electric Inc. All Rights Reserved. | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||