需要帮助解密NFC AAR代码

时间:2012-11-27 07:58:15

标签: android uri nfc ndef android-applicationrecord

我开始学习更多有关AAR和NFC的知识,并发现这条简洁的代码正常工作。但是,我无法理解它的确实做了什么,是否已将AAR添加到NDEF消息中。有人可以指导我做什么代码行吗?非常感谢!

private NdefMessage getTagAsNdef() {  
    boolean addAAR = false;  
    String uniqueId = "ichatime.com";      
    byte[] uriField = uniqueId.getBytes(Charset.forName("US-ASCII"));  
    byte[] payload = new byte[uriField.length + 1];       //add 1 for the URI Prefix  
    payload[0] = 0x01;                        //prefixes http://www. to the URI  
    System.arraycopy(uriField, 0, payload, 1, uriField.length); //appends URI to payload  
    NdefRecord rtdUriRecord = new NdefRecord(  
    NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, new byte[0], payload);  
    if(addAAR) {  
        // note: returns AAR for different app (nfcreadtag)  
        return new NdefMessage(new NdefRecord[] {  
               rtdUriRecord, NdefRecord.createApplicationRecord("com.example.ponpon")  
             });   
    } else {  
       return new NdefMessage(new NdefRecord[] {  
                       rtdUriRecord});  
    }  
 }

1 个答案:

答案 0 :(得分:1)

AAR是外部类型记录的一种形式,您可以从nfc-forum.org下载规范。外部类型由三个数据组成:

  • 类型

我编写了一个库project,它提供了高级NDEF记录对象,还包括外部类型记录。

在您可能感兴趣的活动中还有一个使用NFC的模板: - )