|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.device.felica.Felica
FeliCa 機能を制御する基本クラスです。
このAPIでは、便宜上、FeliCa 機能の利用形態を
open()
を呼び出した後に、それぞれ
getOnlineFelica()
getOfflineFelica(int, int)
getFreeArea()
getAdhocDataTransfer()
activate()
や inactivate()
を利用します。
activate()
や inactivate()
を利用しなくても外部 R/W からのアクセスが可能です。
このためアプリケーション開発者は、
オンライン・オフライン・フリーエリアアクセスによるトランザクションと、
外部 R/W からのアクセスによるトランザクションを排他制御できないことに注意する必要があります。
FeliCa をオープンした状態で、音声・テレビ電話・PTT 呼発着信によりサスペンドした場合、または、
サスペンド中に音声・テレビ電話・PTT 呼発着信があった場合、強制的に close()
が呼ばれます。
また、ネイティブのセキュリティ設定により FeliCa 機能がロックされている状態では、 FeliCa 機能を利用することはできません。 FeliCa をオープンした状態で、FeliCa 機能がロックされた場合は、 強制的に
close()
が呼ばれます。
なお、待ち受け実行時の非活性化状態では FeliCa 機能を利用することは出来ません。
活性化状態から非活性化状態に切り替えた場合には、
強制的に close()
が呼ばれます。
また、ダウンロード即起動アプリからも FeliCa 機能を利用することは出来ません。
[DoJa-5.0 (903i) 以降]
アプリケーションが FeliCa IC チップの搬送波出力を開始している状態で、
音声・テレビ電話・PTT 呼発着信以外によりサスペンドした場合、
システムが強制的に搬送波を停止します。
メソッドの概要 | |
static void |
activate()
推奨されていません。 DoJa-5.0 (903i) 以降では、 このメソッドを呼び出さなくても外部 R/W からのアクセスを受け付けることができるため、 このメソッドはサポートされません。 |
static void |
close()
FeliCa をクローズします。 |
static AdhocDataTransfer |
getAdhocDataTransfer()
アドホック通信用に AdhocDataTransfer オブジェクトを取得します。 |
static FreeArea |
getFreeArea()
フリーエリアアクセス用に、FreeAreaオブジェクトを取得します。 |
static int[] |
getLockedNodeList()
このアプリケーションに関係するノード(エリア・サービス)のうち、 遠隔個別領域停止中のノードリストを取得します。 |
static OfflineFelica |
getOfflineFelica(int card,
int systemCode)
オフライン処理用に、OfflineFelicaオブジェクトを取得します。 |
static OnlineFelica |
getOnlineFelica()
オンライン処理用に、OnlineFelicaオブジェクトを取得します。 |
static void |
inactivate()
推奨されていません。 DoJa-5.0 (903i) 以降では、 activate()メソッドを呼び出さなくても外部 R/W からのアクセスを受け付けることができるため、 このメソッドはサポートされません。 |
static void |
open()
FeliCa をオープンします。 |
static void |
reset()
FeliCa をリセットします。 |
static void |
setFelicaPushListener(FelicaPushListener listener)
外部 R/W から Push 通知を受信した際のイベントを受け取るリスナを登録します。 |
static void |
turnOffRFPower()
搬送波の出力を停止します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
public static void open() throws FelicaException
[DoJa-4.1 (902iS) まで]
パーミッションとしてFeliCaオンライン機能の利用、FeliCaオフライン機能の利用の、いずれも許可されておらず、かつ、
ADF の FeliCaCPID キー、ADF の FeliCaPIN キーの
いずれも指定されていない場合には、 このメソッドを呼び出した時点で例外が発生します。
[DoJa-5.0 (903i) 以降]
パーミッションとして上記が許可されている必要や、ADF キーが指定されている必要はありません。
[DoJa-5.0 (903i) 以降]
このメソッドを呼び出した時に、
FeliCa IC チップが既に搬送波検出によって起動されている場合、
例外 FelicaException(ID_OPEN_ERROR, TYPE_UNDEFINED_ERROR) が発生します。
UnsupportedOperationException
- FeliCa機能をサポートしていない場合に発生します。
IllegalStateException
- ダウンロード即起動アプリで呼び出された場合に発生します。
IllegalStateException
- 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
IllegalStateException
- [DoJa-5.0 (903i) 以降] Bluetooth 通信中(一度でも
Bluetooth.getInstance()
呼び出しが成功した後の状態)に呼び出された場合に発生します。
IllegalStateException
- [DoJa-5.0 (903i) 以降] UART 通信中
(Connector.open()
によって
UART 通信を行うコネクションをオブジェクトを取得し、
かつ、そのコネクションがクローズされていない状態)
に呼び出された場合に発生します。
SecurityException
- [DoJa-4.1 (902iS) まで]
パーミッションとしてFeliCaオンライン機能の利用、
FeliCaオフライン機能の利用の、いずれも許可されておらず、かつ、
ADF の FeliCaCPID キー、
ADF の FeliCaPIN キーの、いずれも指定されていない場合に発生します。
SecurityException
- ネイティブのセキュリティ設定により FeliCa
機能がロックされている場合に発生します。
FelicaException
- 外部R/Wから使用中など、FeliCaのオープンに失敗した場合に発生します
(ID_OPEN_ERROR, TYPE_UNDEFINED_ERROR)。
public static void close() throws FelicaException
UnsupportedOperationException
- FeliCa機能をサポートしていない場合に発生します。
FelicaException
- FeliCaのクローズに失敗した場合に発生します
(ID_CLOSE_ERROR, TYPE_UNDEFINED_ERROR)。
public static OnlineFelica getOnlineFelica()
オンライン処理用に、OnlineFelicaオブジェクトを取得します。 このメソッドを複数回呼び出しても、常に同じインスタンスが返ります。
なお、パーミッションとしてFeliCaオンライン機能の利用が許可されていない場合には、 このメソッドを呼び出した時点でセキュリティ違反として強制終了されます。
UnsupportedOperationException
- FeliCa機能をサポートしていない場合に発生します。
DeviceException
- FeliCaがオープンされていない場合に発生します(ILLEGAL_STATE)。
public static OfflineFelica getOfflineFelica(int card, int systemCode) throws FelicaException, java.io.IOException
オフライン処理用に、OfflineFelicaオブジェクトを取得します。 このメソッドを呼び出すと、 下記の設定にて、 指定されたカードに対してポーリングを行います。 同じカードの異なるシステムへの ポーリングに成功すると、そのカード内で システム切り替えが発生しPINの解除情報がクリアされます。
内部カード | 外部カード | |
タイムアウト値 | 500[ms] | 250[ms] |
リトライ数 | 0 | 0 |
このメソッドは、引数の組合せに関係なくポーリングを行います。 ポーリングの成功結果によって取得したIDmが、 それまでに取得したことのないIDmである場合は、新規にインスタンスを生成し返します。 既に取得済みのIDmである場合は、その時と同じインスタンスを返します。
OfflineFelica.CARD_EXTERNAL
)が指定された場合には、
例外 UnsupportedOperationException が発生します。
OfflineFelica.CARD_EXTERNAL
)を指定可能です。
内部カード
が指定された場合に、
引数 systemCode にフリーエリアのシステムコードが指定された場合
card
- 処理対象カード
(OfflineFelica.CARD_INTERNAL
、
またはOfflineFelica.CARD_EXTERNAL
)。systemCode
- システムコード。
0 以上 216 - 1 以下の値が指定できます。
内部カード
が指定された場合には
OfflineFelica
オブジェクトを、
外部カード
が指定された場合には
ThruRWOfflineFelica
オブジェクトを返します。
ただし、引数 systemCode にワイルドカードが指定された場合、
以下の条件を満たしたときには null を返します。
内部カード
が指定された場合に、
ポーリングの成功結果によって取得したシステムコードがフリーエリアのシステムコードである場合
UnsupportedOperationException
- FeliCa機能をサポートしていない場合に発生します。
DeviceException
- FeliCaがオープンされていない場合に発生します(ILLEGAL_STATE)。
DeviceException
- [DoJa-4.1 (902iS) まで] オンライン処理が既に開始されている場合や、
外部 R/W からのアクセス待ち状態下の場合に発生します(ILLEGAL_STATE)。
縺ヲ縺