com.docomostar.device.felica
インタフェース OnlineListener

すべてのスーパーインタフェース:
EventListener

public interface OnlineListener
extends EventListener
 [iアプリオプションAPI]

FeliCa 機能のオンライン処理に関するイベントのリスナを定義します。

導入されたバージョン:
Star-1.0

フィールドの概要
static int TYPE_INTERRUPTED_ERROR
          発着信やサスペンドなどにより、処理が中断されたことを表す終了タイプです。
static int TYPE_UNEXPECTED_ERROR
          予期せぬエラーが発生したことを表すフラグです。
 
メソッドの概要
 byte[] deviceOperationRequest(int deviceID, String param, byte[] data)
          DeviceOperationRequest イベントが発生した時に呼ばれます。
 void onlineError(int type, String message)
          オンライン処理が異常終了した時に呼ばれます。
 void onlineFinished(int status)
           オンライン処理が正常終了した時に呼ばれます。
 

フィールドの詳細

TYPE_UNEXPECTED_ERROR

public static final int TYPE_UNEXPECTED_ERROR
予期せぬエラーが発生したことを表すフラグです。 (=0x8000)

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

TYPE_INTERRUPTED_ERROR

public static final int TYPE_INTERRUPTED_ERROR
発着信やサスペンドなどにより、処理が中断されたことを表す終了タイプです。 (= 0x8001)

関連項目:
定数フィールド値
メソッドの詳細

deviceOperationRequest

public byte[] deviceOperationRequest(int deviceID,
                                     String param,
                                     byte[] data)
DeviceOperationRequest イベントが発生した時に呼ばれます。

このメソッドが正常にリターンした場合、 サーバサイドには、このメソッドの戻り値と共に、 この処理結果が「成功」であったことが通知されます。 そうでない場合(例外がスローされた場合)、 サーバサイドには、この処理結果が「失敗」であったことが通知されます。

パラメータ:
deviceID - デバイスIDを示します。
param - パラメータを示します。
data - データを示します。
戻り値:
このイベントの処理結果を返します。 指定できるデータの配列長は 216- 17 バイトまでで、 216- 17 バイトを越える部分は無視されます。 nullが指定された場合は、 配列長0のデータが指定された場合と同等の扱いとします。 指定できるデータの配列長は、以下によっても制限されます。 このような場合、サーバサイドにはエラーが通知されます。
  • TCAP メッセージ列の全体サイズが、 TCAP ヘッダの Length に指定できる最大値 ( 216-1 バイト) を超える場合
  • TCAP パケット列の全体サイズが、HTTP 通信で送信可能なデータサイズを超える場合

onlineError

public void onlineError(int type,
                        String message)
オンライン処理が異常終了した時に呼ばれます。 このメソッドに渡される引数の意味は以下の通りです。
異常終了の原因終了タイプ詳細メッセージ
オンライン処理中に InterruptedIOException 発生
  • HTTP通信中に発着信以外によりサスペンドした場合
  • FeliCaカードアクセス中に発着信以外によりサスペンドした場合
TYPE_INTERRUPTED_ERROR 発生した例外の Throwable.getMessage() の値
オンライン処理中に OnlineFelica.stop()、または Felica.close() を呼び出した場合 TYPE_INTERRUPTED_ERROR Interrupted by user
オンライン処理中に 強制的にFelica.close() が呼ばれた場合
  • 発着信によりサスペンドした場合
  • 発着信以外によりサスペンドし、 サスペンド中に発着信があった場合
  • ネイティブのセキュリティ設定により FeliCa 機能がロックされた場合
  • ミニアプリ実行時の Selected 状態において、 Widget View が非表示状態に遷移したことによりサスペンドした場合
  • ミニアプリ実行時の Focused または Unfocused 状態において、 (サスペンド理由に関わらず)サスペンドした場合
TYPE_INTERRUPTED_ERROR なし(null)
オンライン処理中に ConnectionException 発生 発生した例外の ConnectionException.getStatus() の値 発生した例外の Throwable.getMessage() の値
オンライン処理中にその他の例外発生 TYPE_UNEXPECTED_ERROR 発生した例外の Throwable.toString() の値
オンライン処理中に例外発生以外のエラー発生 (TCAP エラーなど) TYPE_UNEXPECTED_ERROR エラーに対応したメッセージ

このインタフェースに定義されている終了タイプ定数は、 全て下位16ビット目が立っています。したがって、 引数 type と 0x8000 とのビット論理積を取ることによって、 ConnectionException が発生したか否かを判別することが出来る点に注意してください。

このメソッドが呼ばれる直前に、オンライン処理のために確保されていたリソースが解放されます。 また、カードがリセットされ、 サーバサイドから変更されたタイムアウト値とリトライ数、 及び追加されたデバイスリストがクリアされます。 カードがリセットされると、PINの解除情報もクリアされます。

パラメータ:
type - 上記終了タイプが渡されます。
message - 上記詳細メッセージが渡されます。

onlineFinished

public void onlineFinished(int status)

オンライン処理が正常終了した時に呼ばれます。

このメソッドが呼ばれる直前に、オンライン処理のために確保されていたリソースが解放されます。 また、カードがリセットされ、 サーバサイドから変更されたタイムアウト値とリトライ数、 及び追加されたデバイスリストがクリアされます。 カードがリセットされると、PINの解除情報もクリアされます。

パラメータ:
status - サーバサイドの終了コードが渡されます。
関連項目:
onlineError(int, String), OnlineFelica.stop()


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

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