我在尝试支付卡的读取曲目数据(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"
}
}
}
任何帮助将是巨大的,请提供一些线索......在此先感谢