2011-04-21 80 views
1

我在尝试支付卡的读取曲目数据PayWave,PayPass)。根据我的理解,他们遵循ISO 14443 B。 有了新的NFC API,通过Android 2.3.3读取PayWave(ISO14443-B格式)曲目信息NFC

  1. 我可以IsoDep格式连接而无需抛出的任何异常
  2. 调用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" 
      } 
     } 
} 

任何帮助将是巨大的,请提供一些线索......在此先感谢

回答

0

Triangle.io也有一个API,允许您免费执行此操作,并且可以将它集成到您​​自己的应用程序中。您可以从Google Play下载示例应用程序。

声明:我triangle.io

+0

工作,同时建议其他选项是一个好主意,我相信在这种情况下,OP特别想为他的payWave的问题的解决方案。 – 2013-08-02 16:53:34