API version 14
iOSAndroidWindows
説明 |
NFCタグに対し任意のデータを送信し、その応答データを取得します。 送信可能なデータの形式やプロトコルなどの詳細は、対象のNFCタグのリファレンスマニュアルなどを参照してください。
|
|
呼出形式 |
var receivedData = nfc.Transceive( sendData )
|
|
戻り値 |
NFCタグから受信したバイト列をByteArrayオブジェクトで返します
|
|
引数 |
String sendData |
NFCタグに送信するバイト列。
|
例外 |
RTM-48 |
端末にNFCリーダ/ライタが存在しません。 |
|
RTM-49 |
端末のNFCリーダ/ライタが有効になっていません。 |
|
RTM-50 |
NFCタグへのアクセスに失敗しました。
|
使用例 |
/* NFC Type-VのタグでGet system informationコマンドを発行する */ var nfc = null; try { nfc = Runtime.DiscoverNfcTag("NFC Type-Vのカードをかざしてください"); } catch(e) { MessageBox("NFCタグ探索失敗"); return; } if(!nfc.IsTypeVTag) { nfc.Close(false, "Type-V以外のタグが読み取られました"); return; } try { nfc.SetMessage("接続済"); var request = new ByteArray(0x02, 0x2B); var response = nfc.Transceive(request); /* NFCとの通信を終了 */ nfc.Close(true, "読込終了"); /* レスポンスの確認 */ /* response flagsの1bit目が1ならエラー */ var responseFlags = response.ByteAt(0); if (responseFlags % 2 != 0) { MessageBox("エラーが発生しました"); return; } /* responseの3バイト目から8バイト分がID * 使用例ではエンディアンを並び替えている。*/ var uid = new ByteArray( response.ByteAt(9), response.ByteAt(8), response.ByteAt(7), response.ByteAt(6), response.ByteAt(5), response.ByteAt(4), response.ByteAt(3), response.ByteAt(2) ); print("ID:", uid.ToHexString()); } catch(e) { nfc.Close(false, "読込エラー"); }
|
|
関連項目 |