|
Vodafone Java(tm) テクノロジプラットフォーム仕様 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Objectjavax.microedition.midlet.MIDlet
com.vodafone.midlet.ResidentMIDlet
ResidentMIDlet クラスは、常駐 MIDlet の基本クラスです。
ResidentMIDlet には次の機能があります。
ResidentMIDlet の目的は、MIDlet がネイティブシステムと連携して音声呼び出し、メッセージの着信、定期アラームなどの電話イベントをユーザーに通知し、それらのイベントに応答するタイミングを決定できるようにすることです。常駐 MIDlet は、持続的に常駐する MIDlet として宣言できます。その場合、ネイティブシステムは、MIDlet を中断または停止してイベントを処理することはできません。MIDlet を停止、あるいは一時停止してネイティブイベントハンドラに制御を移させることができるのは、MIDlet 自身かユーザーだけです。
通常は、端末自体がイベントを処理し、このイベントが、実行中の MIDlet の中断または一時停止を引き起こすため、適切なアプリケーションがイベント処理を行うことができます。
例として、音声呼び出しを着信した時に呼び出し音を鳴らし、受信した名前と電話番号を表示する機能を持ったアプリケーションを実行した後に、ユーザーが電話に応答できるようにする必要がある場合を考えてみます。これらの割り込み処理を実現するために、MIDlet を常駐 MIDlet として実装し、これらの処理に加えて、この MIDlet からイベントを処理するアプリケーションに制御を移すかどうか、移す場合はいつ移すのかを決定するようにプログラムを書くことができます。
MIDlet は、MIDxlet-Resident をアプリケーション記述子または JAR マニフェストに含めることにより、ResidentMIDlet として宣言されます。 属性は、MIDlet-1 属性によって識別される MIDlet スイートの最初の MIDlet だけに適用されます。アプリケーションの MIDlet クラスは、com.vodafone.midlet.ResidentMIDlet のサブクラスになる必要があります。複数の常駐 MIDlet を端末にインストールできますが、一度に複数の常駐 MIDlet を選択できません。
端末がアイドル状態になり、実行中のアプリケーションや機能がなくなった場合、現在選択されている常駐 MIDlet があれば、それを起動または再起動する必要があります。現在選択されている常駐 MIDlet には、ネイティブのスクリーンセーバーやアイドルアプリケーションより高い優先順位を指定する必要があります。
ResidentMIDlet を拡張することで、アプリケーションは、抽象メソッド ring(java.lang.String, java.lang.String)、dropped()、notice(java.lang.String)、および received(java.lang.String, java.lang.String, int) を実装して多数の端末イベント通知を処理できます。
Java アプリケーション記述子やマニフェストに MIDxlet-Resident 属性がない場合、MIDlet スイートは通常の MIDlet として扱われますが、この属性がある場合は、次の属性の値に従って処理する必要があります。
Y" - MIDlet スイートは常駐 MIDlet として扱われるS" - MIDlet スイートは持続的に常駐する MIDlet として扱われる。持続的に常駐する MIDlet が端末イベントによって中断、一時停止、または破棄されてはならない。MIDlet を一時停止または破棄できるのは、MIDlet 自体かユーザーだけであるN" - MIDlet スイートは通常の MIDlet として扱われる多くの端末は、一度にネイティブアプリケーションか Java アプリケーションのどちらか 1 つだけを実行するように制限されています。一度に実行できるプログラムが 1 つだけの場合、使用可能なリソースを現在のアプリケーションに割り当てるのは難しくありません。
常駐 MIDlet がアクティブで、ユーザーに通知する必要のあるイベントが発生した場合、端末のネイティブのイベントハンドラは、バックライト、バイブレータ、オーディオチャネル、その他のリソースにアクセスして、イベント通知を行う必要があります。Java ランタイムがアクティブな場合は、Java ランタイムもこれらのリソースを使用している場合があります。このような競合を解決するため、ネイティブ機能の優先順位が高くなっており、ネイティブ機能はリソースを一時的に先取りして、イベント通知が完了してから Java ランタイムに完全な制御を返します。常駐 MIDlet に対する予期しないプログラミング障害を防止するため、端末は、リソースの損失をできるだけ API に準拠させて透過的にする必要があります。たとえば、アクティブなマルチメディアプレイヤは、playerStateChanged() メソッドを使って、リソースが使用できないことをアプリケーションに通知する必要があります。
常駐 MIDlet に配信される情報には、名前、電話番号、電子メールアドレス、その他の機密情報が含まれていることがあります。個人情報のプライバシ保護のため、MIDlet スイートは com.vodafone.midlet.ResidentMIDlet に対するアクセス権を要求する必要があります。
各常駐 MIDlet は、すべてのアプリケーションと同じセキュリティポリシーに従います。許可されるアクセス権は、割り当てられる保護ドメインによって異なります。ResidentMIDlet は、すべての機密 API について、必要なアクセス権を要求し、許可される必要があります。
playerStateChanged() メソッドを使って、リソースが使用できないことをアプリケーションに通知する必要がある。ring() が呼び出されるreceived() が呼び出されるnotice() が呼び出されるring() が呼び出された場合、呼び出しの終了を示す dropped() が呼び出される
| フィールドの概要 | |
static int |
CBS
メッセージは CBS です。 |
static int |
DELIVERY_CONF
メッセージは配信確認です。 |
static int |
MMS
メッセージは MMS です。 |
static int |
SMS
メッセージは SMS です。 |
static int |
WAP_PUSH
メッセージは WAP プッシュです。 |
| コンストラクタの概要 | |
protected |
ResidentMIDlet()
保護されたコンストラクタです。 |
| メソッドの概要 | |
abstract void |
dropped()
呼び出しに対する応答があったかどうかに関係なく、呼び出しが切断された場合に呼び出されます。 |
abstract void |
notice(java.lang.String comment)
定期アラームイベントが発生したときに呼び出されます。 |
abstract void |
received(java.lang.String name,
java.lang.String addr,
int detail)
メールイベントの着信時に呼び出されます。 |
abstract void |
ring(java.lang.String name,
java.lang.String number)
呼び出し音による通知が停止したとき呼び出されます。 |
| クラス javax.microedition.midlet.MIDlet から継承したメソッド |
checkPermission, destroyApp, getAppProperty, notifyDestroyed, notifyPaused, pauseApp, platformRequest, resumeRequest, startApp |
| クラス java.lang.Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final int CBS
public static final int MMS
public static final int SMS
public static final int WAP_PUSH
public static final int DELIVERY_CONF
| コンストラクタの詳細 |
protected ResidentMIDlet()
java.lang.SecurityException - com.vodafone.midlet.ResidentMIDlet に対するアクセス権要求が要求されておらず、許可されていない場合| メソッドの詳細 |
public abstract void dropped()
public abstract void ring(java.lang.String name,
java.lang.String number)
呼び出し元の番号と、アドレス帳に対応する名前がある場合はその名前。アドレス帳に名前が登録されていない場合、名前の値は null になります。
name - 呼び出し元の名前。 呼び出し元の番号がアドレス帳に見つからない場合は nullnumber - 電話番号 (括弧は含まない)public abstract void notice(java.lang.String comment)
comment - 定期アラームのコメント値。 null の場合もある
public abstract void received(java.lang.String name,
java.lang.String addr,
int detail)
name - 差出人の名前。 null の場合もあるaddr - 差出人のメールアドレス。 null の場合もあるdetail - 着信した通知のタイプ。次のいずれか
|
Vodafone Java(tm) テクノロジプラットフォーム仕様 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||