API version 14
iOSAndroidWindows
|
説明 |
NFCタグに対しFeliCaのRead Without Encryptionコマンドを発行します。 詳細はFeliCaカードのリファレンスマニュアルなどを参照してください。
|
|
|
呼出形式 |
var result = nfc.Felica_Read( IDm, serviceCode, blockOffset, blockCount )
|
|
|
戻り値 |
読み取ったブロックデータをByteArrayで返します
|
|
|
引数 |
ByteArray IDm |
対象のIDmを指定します |
|
|
integer serviceCode |
対象のサービスコードを指定します |
|
|
integer blockOffset |
読取を開始するブロック番号を指定します |
|
|
integer blockCount |
読み取るブロック数を指定します
|
|
例外 |
RTM-48 |
端末にNFCリーダ/ライタが存在しません。 |
|
|
RTM-49 |
端末のNFCリーダ/ライタが有効になっていません。 |
|
|
RTM-50 |
NFCタグへのアクセスに失敗しました。 |
|
|
RTM-52 |
FeliCaコマンドの発行に失敗しました。
|
|
使用例 |
var nfc = null;
try {
nfc = Runtime.DiscoverNfcTag("交通系ICカードをかざしてください");
} catch(e) {
MessageBox("NFCタグ探索失敗");
return;
}
if(!nfc.IsFeliCaTag) {
nfc.Close(false, "FeliCa以外のタグが読み取られました");
return;
}
try {
nfc.SetMessage("読取中...");
/* システムコード0x0003(Suica)のIDmを取得*/
var targetIDm = nfc.FeliCa_Polling(0x0003).IDm;
/* サービス0x008B(カード情報)から1ブロック取得*/
var blockData = nfc.FeliCa_Read(targetIDm, 0x008B, 0, 1);
var balance = blockData.ByteAt(11) + blockData.ByteAt(12) * 256;
/* NFCとの通信を終了 */
nfc.Close(true, "Suica残高 : " + str(balance) + "円");
} catch(e) {
nfc.Close(false, "読取エラー");
}
|
|
|
関連項目 |
IsFelicaTagプロパティ |
|