com.docomostar
クラス StarEventObject

Object
  拡張com.docomostar.StarEventObject
直系の既知のサブクラス:
CalledByDTVEvent, ClockTickEvent, FelicaAdhocEvent, FelicaPushedEvent, FrameChangedEvent, InvitedEvent, MessageFolderChangedEvent

public abstract class StarEventObject
extends Object

Star アプリケーションにおけるイベントを表すクラスです。

このクラスに定義されているイベントタイプは、 StarApplication.addEventListener(int, StarEventListener) および StarApplication.addWakeupEvent(int) に登録することができます。

イベント発生時の振る舞いは、それら各メソッドへのイベント登録の有無や、 イベント発生時のアプリケーションの状態(StarApplication クラス説明参照)によって異なります。 以下に詳細を説明します。

Started 状態・Active 状態における振る舞い:
発生したイベントが addEventListener で登録してある場合、 対応する(登録しておいた)リスナがコールバックされます。
ここで、addWakeupEvent へのイベント登録の有無は関係ありません。
StarApplication.suspend() 呼び出し以外による Suspended 状態における振る舞い:

原則として、発生したイベントが addEventListener を用いて登録されている場合でも、 対応するリスナはコールバックされません。

イベントの種類によっては、 レジューム時に遅延してコールバックされるものもあります。 そのようなイベントは、 何らかの契機でレジュームした際に遅延してコールバックされることになります。 ここで、addWakeupEvent へのイベント登録の有無は関係ありません。

このクラスで定義されているイベント定数が、 そのような遅延コールバックの対象である場合は、 当該イベント定数の説明文中に 「イベント発生時の振る舞いに関する特記事項」 として「このイベントは、起床イベントの効力が及ばないサスペンド時においても、 レジューム時にリスナが遅延コールバックされます」と記載されています。

なお、 そのような遅延コールバック対象のイベントが複数種類発生していた場合には、 各種類のイベントについて、それぞれ、 対応するリスナが遅延してコールバックされます。 同種類のイベントが複数回発生していた場合は、 各種類ごとに、一番最後に発生した(最新の)イベントについてのみ、 対応するリスナが遅延してコールバックされます。 (STAR_MESSAGE_FOLDER_CHANGED イベントについては、複数回発生していた場合の振る舞いが少し異なります。 詳細は当該イベント定数の説明を参照してください。)

StarApplication.suspend() 呼び出しによる Suspended 状態における振る舞い:
発生したイベントが addWakeupEvent を用いて登録されていない場合:
「StarApplication.suspend() 呼び出し以外によるSuspended 状態における振る舞い」と同様です。
発生したイベントが addWakeupEvent を用いて登録されている場合:
  • イベント発生と同時に即座にレジュームし、 レジューム時にコールバックされる StarApplication.activated(int) の引数に、発生したイベント定数が設定されます。 加えて、発生したイベントが addEventListener を用いて登録されている場合は、対応するリスナもコールバックされます。
  • 音声通話中やミニアプリの Unselected 状態下など、 イベント発生と同時に即座にレジュームできないケースでは、 アプリケーションがレジュームできる状態になり次第、 レジュームします。 レジューム時には、 即座にレジュームできない状態で複数回かつ複数種類、 対象となるイベントが発生していた場合も含めて、 以下のように振る舞います。
    • レジューム時にコールバックされる StarApplication.activated(int) の引数は、対象となるイベント定数のいずれか1つが設定されます。 ただし、引数に、起床タイマイベントである StarApplication.ACTIVATED_BY_WAKEUP_TIMER_DELAYED が設定されるようなケース(詳細は StarApplication.setWakeupTimer(long) 参照)では、 そちらが優先され、常に StarApplication.ACTIVATED_BY_WAKEUP_TIMER_DELAYED が引数に設定されます。
    • 発生したイベントのうち、 addEventListener にて登録されているものは、 各種類のイベントについて、 それぞれ、対応するリスナがコールバックされます。 ただし、同種類のイベントが複数回発生していた場合は、 各種類ごとに、一番最後に発生した(最新の)イベントについてのみ、 対応するリスナがコールバックされます。 (STAR_MESSAGE_FOLDER_CHANGED イベントについては、複数回発生していた場合の振る舞いが少し異なります。 詳細は当該イベント定数の説明を参照してください。)

StarEventListener によって通知されるイベントは、 全てこのクラスを継承しています。 また、具体的なイベントタイプは getType() を呼び出すことで知ることができます。

導入されたバージョン:
Star-1.0
関連項目:
StarApplication.addEventListener(int, StarEventListener), StarApplication.addWakeupEvent(int)

フィールドの概要
static int STAR_CALLED_BY_DTV [iアプリオプションAPI]
           デジタルテレビアプリケーションから呼び出されたことを表すイベントタイプです(=9)。
static int STAR_CLOCK_UPDATED
           ネイティブの時計の時刻が変化したことを表すイベントタイプです(=6)。
static int STAR_FACE_STATECHANGE_MINI_FOCUSED
          アプリケーションの表示状態が、 ミニアプリの Focused 状態に遷移した時に生成されるイベントタイプです(=3)。
static int STAR_FACE_STATECHANGE_MINI_SELECTED
          アプリケーションの表示状態が、 ミニアプリの Selected 状態に遷移した時に生成されるイベントタイプです(=5)。
static int STAR_FACE_STATECHANGE_MINI_UNFOCUSED
          アプリケーションの表示状態が、 ミニアプリの Unfocused 状態に遷移した時に生成されるイベントタイプです(=4)。
static int STAR_FELICA_ADHOC_REQUEST_RECEIVED [iアプリオプションAPI]
           アドホック通信による連続データ転送に関して、 クライアント側より、この端末のこのアプリケーションが通信相手として指定されたことを表すイベントタイプです(=12)。
static int STAR_FELICA_PUSHED [iアプリオプションAPI]
           外部 R/W から Push 通知を受信したことを表すイベントタイプです(=11)。
static int STAR_FRAME_CHANGED
           フレームが切り替わったことを表すイベントタイプです(=7)。
static int STAR_INVITED
          招集メッセージにより起動要求を受信した際に生成されるイベントタイプです(=10)。
static int STAR_MESSAGE_FOLDER_CHANGED
           メッセージ Star アプリで、 フォルダに変更があったことを表すイベントタイプです(=8)。
static int STAR_STATECHANGE_CLAM_CLOSE [iアプリオプションAPI]
           携帯電話の筐体が閉じられた時に生成されるイベントタイプです(=2)。
static int STAR_STATECHANGE_CLAM_OPEN [iアプリオプションAPI]
           携帯電話の筐体が開かれた時に生成されるイベントタイプです(=1)。
 
コンストラクタの概要
protected StarEventObject(int eventType)
          コンストラクタです。
 
メソッドの概要
 int getType()
          このオブジェクトのイベントタイプを取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

STAR_FACE_STATECHANGE_MINI_FOCUSED

public static final int STAR_FACE_STATECHANGE_MINI_FOCUSED
アプリケーションの表示状態が、 ミニアプリの Focused 状態に遷移した時に生成されるイベントタイプです(=3)。

フルアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 IllegalStateException が発生します。

関連項目:
定数フィールド値

STAR_FACE_STATECHANGE_MINI_UNFOCUSED

public static final int STAR_FACE_STATECHANGE_MINI_UNFOCUSED
アプリケーションの表示状態が、 ミニアプリの Unfocused 状態に遷移した時に生成されるイベントタイプです(=4)。

フルアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 IllegalStateException が発生します。

関連項目:
定数フィールド値

STAR_FACE_STATECHANGE_MINI_SELECTED

public static final int STAR_FACE_STATECHANGE_MINI_SELECTED
アプリケーションの表示状態が、 ミニアプリの Selected 状態に遷移した時に生成されるイベントタイプです(=5)。

フルアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 IllegalStateException が発生します。

関連項目:
定数フィールド値

STAR_STATECHANGE_CLAM_OPEN

public static final int STAR_STATECHANGE_CLAM_OPEN [iアプリオプションAPI]

携帯電話の筐体が開かれた時に生成されるイベントタイプです(=1)。

折りたたみ型またはフリップ型の端末の場合のみサポートしています。 サポートされていない端末では、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 UnsupportedOperationException が発生します。

関連項目:
定数フィールド値

STAR_STATECHANGE_CLAM_CLOSE

public static final int STAR_STATECHANGE_CLAM_CLOSE [iアプリオプションAPI]

携帯電話の筐体が閉じられた時に生成されるイベントタイプです(=2)。

折りたたみ型またはフリップ型の端末の場合のみサポートしています。 サポートされていない端末では、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 UnsupportedOperationException が発生します。

関連項目:
定数フィールド値

STAR_CLOCK_UPDATED

public static final int STAR_CLOCK_UPDATED

ネイティブの時計の時刻が変化したことを表すイベントタイプです(=6)。
普段は StarApplication.suspend() によりサスペンドしているようなアプリケーションが、 ネイティブの時刻変化にあわせて画面を更新したい場合などに有用です。

原則として、 ネイティブの時計の「分」の部分が1つ進むたびにイベントが発生します。 ただし、StarApplication.suspend() によるサスペンド中に、 即座にレジュームできない状態でこのイベントが発生した場合は、 ネイティブの時刻変化とは無関係に遅延してコールバックされる可能性があります。

このイベントが発生した時に通知される StarEventObject は、 ClockTickEvent またはそのサブクラスです。

時刻未設定の状態では、 このイベントを StarApplication.addEventListener(int, StarEventListener) メソッドや StarApplication.addWakeupEvent(int) メソッドで登録することは可能ですが、 このイベントの受信や、このイベントによる起床はできません。

関連項目:
定数フィールド値

STAR_FELICA_PUSHED

public static final int STAR_FELICA_PUSHED [iアプリオプションAPI]

外部 R/W から Push 通知を受信したことを表すイベントタイプです(=11)。 イベントは、 FeliCa をオープンしているか否かに関わらず発生します。 このイベントが発生した時に通知される StarEventObject は、 FelicaPushedEvent またはそのサブクラスです。

ネイティブのセキュリティ設定により FeliCa 機能がロックされている場合は、 Push 通知を受信できません。

FeliCa 機能をサポートしていない端末では、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 UnsupportedOperationException 例外が発生します。

ミニアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 IllegalStateException が発生します。

イベント発生時の振る舞いに関する特記事項
  • このイベントは、起床イベントの効力が及ばないサスペンド時においても、 レジューム時にリスナが遅延コールバックされます。 詳細はクラス説明を参照して下さい。

関連項目:
FelicaPushedEvent, 定数フィールド値

STAR_MESSAGE_FOLDER_CHANGED

public static final int STAR_MESSAGE_FOLDER_CHANGED

メッセージ Star アプリで、 フォルダに変更があったことを表すイベントタイプです(=8)。 このイベントが発生した時に通知される StarEventObject は、 MessageFolderChangedEvent またはそのサブクラスです。

以下の場合にイベントが発生します。

このアプリケーションがメッセージ Star アプリではない場合、 このイベントが発生することはありません。

ADF の MessageCode キーを指定せずに、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 SecurityException が発生します。

ミニアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 IllegalStateException が発生します。

イベント発生時の振る舞いに関する特記事項
  • このイベントは、起床イベントの効力が及ばないサスペンド時においても、 レジューム時にリスナが遅延コールバックされます。 詳細はクラス説明を参照して下さい。
  • 起床イベントの効力が及ばないサスペンド時に、 このイベントが複数回発生した場合は、 フォルダの種類ごとに、一番最後に実施されたフォルダの変更について、 それぞれ1回ずつ、対応するリスナが呼び出されます。
    StarApplication.suspend() によるサスペンド中に、 即座にレジュームできない状態で、 このイベントが複数回発生した場合の振る舞いも同様です。

関連項目:
MessageFolderChangedEvent, 定数フィールド値

STAR_FRAME_CHANGED

public static final int STAR_FRAME_CHANGED

フレームが切り替わったことを表すイベントタイプです(=7)。 このイベントが発生した時に通知される StarEventObject は、 FrameChangedEvent またはそのサブクラスです。

このイベントはカレントのフレームが切り替わった場合( Display.setCurrent(Frame) がよばれた場合)に通知されますが、 Display.setCurrent(Frame) の処理とは非同期で通知されます。 よって、StarEventListener.updateStarApplication(StarEventObject) にて、Display.getCurrent() を実行した場合、 非カレントになるフレームを取得できるとは限りません。 非カレントになるフレームを取得する場合は、 FrameChangedEvent.getHidingFrame() にて取得してください。

イベント発生時の振る舞いに関する特記事項
  • このイベントは、Suspended 状態で発生することはありません。 したがって、 引数にこのイベントを指定して StarApplication.addWakeupEvent(int) を呼び出した場合、 UnsupportedOperationException が発生します。

関連項目:
定数フィールド値

STAR_CALLED_BY_DTV

public static final int STAR_CALLED_BY_DTV [iアプリオプションAPI]

デジタルテレビアプリケーションから呼び出されたことを表すイベントタイプです(=9)。 このイベントが発生した時に通知される StarEventObject は、 CalledByDTVEvent またはそのサブクラスです。

他のイベントとは異なり、 このイベントを起床イベントとして登録したかどうかにかかわらず、 また、DTV アプリから連携パラメータが渡されたかどうかにかかわらず、 以下の場合にイベントが発生します。

ただし、後者のケースでは、リスナは呼び出されずに、 イベントパラメータのみが StarApplicationManager.getPushedEvent(int) 呼び出しによって取得できます。

DTVがサポートされていない端末では、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 UnsupportedOperationException が発生します。

ミニアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 IllegalStateException が発生します。

パーミッションとして番組表iアプリの利用が許可されていないアプリケーションが、 引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 SecurityException が発生します。

イベント発生時の振る舞いに関する特記事項
  • このイベントは、上記に掲げた特殊なケースでしか発生することはありません。

関連項目:
定数フィールド値

STAR_FELICA_ADHOC_REQUEST_RECEIVED

public static final int STAR_FELICA_ADHOC_REQUEST_RECEIVED [iアプリオプションAPI]

アドホック通信による連続データ転送に関して、 クライアント側より、この端末のこのアプリケーションが通信相手として指定されたことを表すイベントタイプです(=12)。 このイベントが発生した時に通知される StarEventObject は、 FelicaAdhocEvent またはそのサブクラスです。

クライアント側からの AdhocDataTransfer.setup(String adfURL, String command, Hashtable params) 呼び出しにより、 この端末のこのアプリケーションが通信相手として指定された場合、 その時点でこのアプリケーションが実行中か否かにかかわらず、 このイベントが発生します。 ただし、Terminated 状態中にこのイベントが発生した場合は、 リスナは呼び出されずに、イベントパラメータのみが StarApplicationManager.getPushedEvent(int) 呼び出しによって取得できます。

このイベントが発生した場合、 アプリケーションは、即座に以下の処理を実行しなければなりません。

  1. FelicaAdhocEvent.getAdhocDataTransfer().reply(int) を呼び出し、クライアント側に、要求を受け入れるかどうか通知する。
  2. Connector.open("obex:/felicaserver") により FelicaServerObexConnection インスタンスを取得する。
  3. FelicaServerObexConnection.accept() を呼び出し、 クライアント側からの接続を待つ。

なお、OBEX クライアント側の connect() は、 accept() が呼び出されるまでブロックするため、 connect() と accept() の順番は、 どちらが先になっても構いません。 従って、クライアントからの要求を受け入れる場合、 FelicaAdhocEvent インスタンスを取得してからの典型的な処理は、 以下のようなコードとなります。

 // evt に、取得した FelicaAdhocEvent インスタンスが格納されていることとする。
 FelicaAdhocEvent evt = ...;
 Hashtable param = evt.getReceivedParameter();

 ...; // 必要に応じてパラメータを処理する。

 // クライアントに要求受け入れを通知する
 evt.getAdhocDataTransfer().reply(AdhocDataTransfer.REPLY_ACCEPT); 
 FelicaServerObexConnection con = 
         (FelicaServerObexConnection)Connector.open("obex:/felicaserver");
 con.accept(); // クライアントからのconnect()を待つ

 ...; // 以下、クライアントとの通信コード
 

reply(int)呼び出しによる通知結果は、 クライアント側にそのまま通知されます。 なお、イベント発生にともないリスナが呼び出されるケースで、 そのリスナ呼び出し中にキャッチされない例外が発生した場合は、 クライアント側には拒否する旨が通知されます。

加えて、データ転送要求を受け取った時点で、 以下の条件のいずれかを満たす場合は、アドホック通信を実施できないため、 このリスナは呼び出されずに、 クライアント側にはデータ転送要求を拒否する旨が通知されます。

FeliCa 機能をサポートしていない端末では、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 UnsupportedOperationException 例外が発生します。

ミニアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 を呼び出すと、IllegalStateException が発生します。

ADFのAllowPushByキーの値に "icc:"<起動コマンド> が含まれていないアプリケーションが、 引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener) を呼び出すと、 SecurityException が発生します。

イベント発生時の振る舞いに関する特記事項
  • このイベントは、Suspended 状態で発生することはありません。 Suspended 状態下でデータ転送要求を受けとると、 即座にクライアント側には拒否する旨が通知されます。 したがって、 引数にこのイベントを指定して StarApplication.addWakeupEvent(int) を呼び出した場合、 UnsupportedOperationException が発生します。

関連項目:
定数フィールド値

STAR_INVITED

public static final int STAR_INVITED
招集メッセージにより起動要求を受信した際に生成されるイベントタイプです(=10)。 このイベントが発生した時に通知される StarEventObject は、 InvitedEvent またはそのサブクラスです。

Terminated 状態でこのイベントが発生した場合は、リスナは呼び出されずに、 対応するイベントパラメータのみが StarApplicationManager.getPushedEvent(int) 呼び出しによって取得できます。

ミニアプリ実行中に、引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 IllegalStateException が発生します。

パーミッションとしてiアプリコールの利用が許可されていないアプリケーションが、 引数にこのイベントを指定して StarApplication.addEventListener(int, StarEventListener)、 あるいは StarApplication.addWakeupEvent(int) を呼び出すと、 SecurityException が発生します。

イベント発生時の振る舞いに関する特記事項
  • このイベントは、起床イベントの効力が及ばないサスペンド時においても、 レジューム時にリスナが遅延コールバックされます。 詳細はクラス説明を参照して下さい。

関連項目:
定数フィールド値
コンストラクタの詳細

StarEventObject

protected StarEventObject(int eventType)
コンストラクタです。 パラメータのエラーチェックは行いません。

パラメータ:
eventType - 生成しようとしているイベントのタイプを指定します。 このクラスの STAR_ から始まる定数を指定してください。
メソッドの詳細

getType

public int getType()
このオブジェクトのイベントタイプを取得します。

戻り値:
このオブジェクトが保持しているイベントのタイプを返します。 コンストラクタ呼び出し時に引数に指定された値を返します。


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ドコモの商標または登録商標です。

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