|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Objectcom.docomostar.StarEventObject
Star アプリケーションにおけるイベントを表すクラスです。
このクラスに定義されているイベントタイプは、
StarApplication.addEventListener(int, StarEventListener) および
StarApplication.addWakeupEvent(int) に登録することができます。
イベント発生時の振る舞いは、それら各メソッドへのイベント登録の有無や、
イベント発生時のアプリケーションの状態(StarApplication
クラス説明参照)によって異なります。
以下に詳細を説明します。
addEventListener で登録してある場合、
対応する(登録しておいた)リスナがコールバックされます。
addWakeupEvent
へのイベント登録の有無は関係ありません。
StarApplication.suspend() 呼び出し以外による
Suspended 状態における振る舞い:
原則として、発生したイベントが addEventListener
を用いて登録されている場合でも、
対応するリスナはコールバックされません。
イベントの種類によっては、
レジューム時に遅延してコールバックされるものもあります。
そのようなイベントは、
何らかの契機でレジュームした際に遅延してコールバックされることになります。
ここで、addWakeupEvent
へのイベント登録の有無は関係ありません。
このクラスで定義されているイベント定数が、 そのような遅延コールバックの対象である場合は、 当該イベント定数の説明文中に 「イベント発生時の振る舞いに関する特記事項」 として「このイベントは、起床イベントの効力が及ばないサスペンド時においても、 レジューム時にリスナが遅延コールバックされます」と記載されています。
なお、
そのような遅延コールバック対象のイベントが複数種類発生していた場合には、
各種類のイベントについて、それぞれ、
対応するリスナが遅延してコールバックされます。
同種類のイベントが複数回発生していた場合は、
各種類ごとに、一番最後に発生した(最新の)イベントについてのみ、
対応するリスナが遅延してコールバックされます。
(STAR_MESSAGE_FOLDER_CHANGED
イベントについては、複数回発生していた場合の振る舞いが少し異なります。
詳細は当該イベント定数の説明を参照してください。)
StarApplication.suspend() 呼び出しによる
Suspended 状態における振る舞い:addWakeupEvent
を用いて登録されていない場合:addWakeupEvent
を用いて登録されている場合:StarApplication.activated(int)
の引数に、発生したイベント定数が設定されます。
加えて、発生したイベントが addEventListener
を用いて登録されている場合は、対応するリスナもコールバックされます。
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()
を呼び出すことで知ることができます。
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 |
| フィールドの詳細 |
public static final int STAR_FACE_STATECHANGE_MINI_FOCUSED
フルアプリ実行中に、引数にこのイベントを指定して
StarApplication.addEventListener(int, StarEventListener)、
あるいは StarApplication.addWakeupEvent(int) を呼び出すと、
IllegalStateException が発生します。
public static final int STAR_FACE_STATECHANGE_MINI_UNFOCUSED
フルアプリ実行中に、引数にこのイベントを指定して
StarApplication.addEventListener(int, StarEventListener)、
あるいは StarApplication.addWakeupEvent(int) を呼び出すと、
IllegalStateException が発生します。
public static final int STAR_FACE_STATECHANGE_MINI_SELECTED
フルアプリ実行中に、引数にこのイベントを指定して
StarApplication.addEventListener(int, StarEventListener)、
あるいは StarApplication.addWakeupEvent(int) を呼び出すと、
IllegalStateException が発生します。
public static final int STAR_STATECHANGE_CLAM_OPEN [iアプリオプションAPI]
携帯電話の筐体が開かれた時に生成されるイベントタイプです(=1)。
折りたたみ型またはフリップ型の端末の場合のみサポートしています。
サポートされていない端末では、引数にこのイベントを指定して
StarApplication.addEventListener(int, StarEventListener)、
あるいは StarApplication.addWakeupEvent(int) を呼び出すと、
UnsupportedOperationException が発生します。
public static final int STAR_STATECHANGE_CLAM_CLOSE [iアプリオプションAPI]
携帯電話の筐体が閉じられた時に生成されるイベントタイプです(=2)。
折りたたみ型またはフリップ型の端末の場合のみサポートしています。
サポートされていない端末では、引数にこのイベントを指定して
StarApplication.addEventListener(int, StarEventListener)、
あるいは StarApplication.addWakeupEvent(int) を呼び出すと、
UnsupportedOperationException が発生します。
public static final int STAR_CLOCK_UPDATED
ネイティブの時計の時刻が変化したことを表すイベントタイプです(=6)。
普段は StarApplication.suspend()
によりサスペンドしているようなアプリケーションが、
ネイティブの時刻変化にあわせて画面を更新したい場合などに有用です。
原則として、
ネイティブの時計の「分」の部分が1つ進むたびにイベントが発生します。
ただし、StarApplication.suspend() によるサスペンド中に、
即座にレジュームできない状態でこのイベントが発生した場合は、
ネイティブの時刻変化とは無関係に遅延してコールバックされる可能性があります。
このイベントが発生した時に通知される StarEventObject は、
ClockTickEvent またはそのサブクラスです。
時刻未設定の状態では、
このイベントを
StarApplication.addEventListener(int, StarEventListener)
メソッドや
StarApplication.addWakeupEvent(int)
メソッドで登録することは可能ですが、
このイベントの受信や、このイベントによる起床はできません。
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,
定数フィールド値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 が発生します。
StarApplication.suspend() によるサスペンド中に、
即座にレジュームできない状態で、
このイベントが複数回発生した場合の振る舞いも同様です。
MessageFolderChangedEvent,
定数フィールド値public static final int STAR_FRAME_CHANGED
フレームが切り替わったことを表すイベントタイプです(=7)。
このイベントが発生した時に通知される StarEventObject は、
FrameChangedEvent またはそのサブクラスです。
このイベントはカレントのフレームが切り替わった場合( Display.setCurrent(Frame)
がよばれた場合)に通知されますが、
Display.setCurrent(Frame) の処理とは非同期で通知されます。
よって、StarEventListener.updateStarApplication(StarEventObject)
にて、Display.getCurrent() を実行した場合、
非カレントになるフレームを取得できるとは限りません。
非カレントになるフレームを取得する場合は、
FrameChangedEvent.getHidingFrame() にて取得してください。
StarApplication.addWakeupEvent(int)
を呼び出した場合、
UnsupportedOperationException が発生します。
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 が発生します。
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)
呼び出しによって取得できます。
このイベントが発生した場合、 アプリケーションは、即座に以下の処理を実行しなければなりません。
FelicaAdhocEvent.getAdhocDataTransfer().reply(int)
を呼び出し、クライアント側に、要求を受け入れるかどうか通知する。
Connector.open("obex:/felicaserver")
により FelicaServerObexConnection インスタンスを取得する。
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 が発生します。
StarApplication.addWakeupEvent(int)
を呼び出した場合、
UnsupportedOperationException が発生します。
public static final int STAR_INVITED
StarEventObject は、
InvitedEvent またはそのサブクラスです。
Terminated 状態でこのイベントが発生した場合は、リスナは呼び出されずに、
対応するイベントパラメータのみが StarApplicationManager.getPushedEvent(int) 呼び出しによって取得できます。
ミニアプリ実行中に、引数にこのイベントを指定して
StarApplication.addEventListener(int, StarEventListener)、
あるいは StarApplication.addWakeupEvent(int) を呼び出すと、
IllegalStateException が発生します。
パーミッションとしてiアプリコールの利用が許可されていないアプリケーションが、
引数にこのイベントを指定して
StarApplication.addEventListener(int, StarEventListener)、
あるいは StarApplication.addWakeupEvent(int) を呼び出すと、
SecurityException が発生します。
| コンストラクタの詳細 |
protected StarEventObject(int eventType)
eventType - 生成しようとしているイベントのタイプを指定します。
このクラスの STAR_ から始まる定数を指定してください。| メソッドの詳細 |
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。