我在嘗試支付卡的讀取曲目數據(PayWave,PayPass)。根據我的理解,他們遵循ISO 14443 B。 有了新的NFC API,通過Android 2.3.3讀取PayWave(ISO14443-B格式)曲目信息NFC
- 我可以IsoDep格式連接而無需拋出的任何異常
- 調用getHiLayerResponse() - ?沒有返回:(現在是什麼
後來我試着打電話收發()方法,但一切都是徒勞的(我不知道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"
}
}
}
任何幫助將是巨大的,請提供一些線索......在此先感謝
工作,同時建議其他選項是一個好主意,我相信在這種情況下,OP特別想爲他的payWave的問題的解決方案。 – 2013-08-02 16:53:34