簡體   English   中英

通過Android 2.3.3 NFC讀取PayWave(ISO14443-B格式)跟蹤信息

[英]Reading PayWave (ISO14443-B format) track information through Android 2.3.3 NFC

我正在嘗試讀取付款卡PayWave,PayPass )的跟蹤數據 據我了解,它們遵循ISO 14443 B。 使用新的NFC API,

  1. 我可以連接IsoDep格式而不會引發任何異常
  2. 調用getHiLayerResponse()-不返回任何內容:(。現在呢?

后來我嘗試調用transceive()方法,但徒勞無功(我不知道APDU命令)。

有人可以幫助我如何閱讀/獲取PayWave或PayPass卡(支付卡)的詳細信息嗎?

if ( NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) ) {

       Parcelable nfcTag = intent.getParcelableExtra("android.nfc.extra.TAG");
       Tag t = (Tag)nfcTag;
       IsoDep myTag = IsoDep.get(t);

       String s1 = null, s2 = null;
       byte[] b1 = myTag.getHiLayerResponse(); //b1 is not null, but length == 0
       if( b1 != null && b1.length > 0 )
           s1 = new String(b1);

       byte[] b2 = myTag.getHistoricalBytes(); //returns nothing coz its NfcB
       if(b2 != null && b2.length > 0)
           s2 = new String(b2);

       if( !myTag.isConnected() )
       {
           myTag.connect();

           String sData = "0xBB"; // got this magic value from web
           byte []data = sData.getBytes();
           result = myTag.transceive(data);
           if(result != null && result.length > 0)
           {
               s3 = new String(result); // value of s3 will be "m"
           }
       }
}

任何幫助都會很棒,請闡明一下...預先感謝

Triangle.io還有一個API,使您可以免費執行此操作,並且可以將其集成到自己的應用程序中。 您可以從Google Play下載示例應用程序。

免責聲明:我為triangle.io工作

嘗試這個

byte[] cmd={(byte)0x00,(byte)0xB2,(byte)0x01,(byte)0x0C,(byte)0x00};
byte[] response=iso.transceive(cmd);

這是讀取記錄的命令。 要閱讀APDU命令的規范,請參閱此

http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4.aspx

這些命令給出一個字節數組作為響應。 並在上面的鏈接中說明了格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM