ACR122 を Android アプリに統合しようとしています。ACS から入手できるANDROID ライブラリ ( http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/ ) を使用しています。
カードの存在は検出できますが、カードの UID/ID を抽出したいと考えています。誰かがそれを行う機能を知っていますか?
このタイプの統合の例はありますか?
ACR122 を Android アプリに統合しようとしています。ACS から入手できるANDROID ライブラリ ( http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/ ) を使用しています。
カードの存在は検出できますが、カードの UID/ID を抽出したいと考えています。誰かがそれを行う機能を知っていますか?
このタイプの統合の例はありますか?
Mifare カードの場合、この APDU バイト配列をカードに送信する必要があります: (byte) 0xFF, (byte) 0xCA, (byte) 0x00, (byte) 0x00, (byte) 0x00
. ACR122 API についてはわかりませんが、おそらくこの APDU を transmit() などの特定の API メソッドにラップする必要があります
アップデート
サンプルコード:
byte[] command = new byte[] { (byte) 0xFF, (byte) 0xCA, (byte) 0x00, (byte) 0x00, (byte) 0x00 };
byte[] response = new byte[300];
int responseLength;
responseLength = reader.transmit(slotNum, command, command.length, response,response.length);
System.out.println(new String(response));
Reader
はcom.acs.smartcard.Reader
オブジェクトでslotNum
、スロット番号です。テストする ACR がないため、それを見つける方法がわかりません。しかし、リーダーとの基本的な通信を確立できたと言えば、おそらく slotNum を知っているでしょう。